mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge with MySQL 5.1.60
This commit is contained in:
@@ -1029,12 +1029,22 @@ subst_spvars(THD *thd, sp_instr *instr, LEX_STRING *query_str)
|
||||
/*
|
||||
Allocate additional space at the end of the new query string for the
|
||||
query_cache_send_result_to_client function.
|
||||
|
||||
The query buffer layout is:
|
||||
buffer :==
|
||||
<statement> The input statement(s)
|
||||
'\0' Terminating null char
|
||||
<length> Length of following current database name (size_t)
|
||||
<db_name> Name of current database
|
||||
<flags> Flags struct
|
||||
*/
|
||||
buf_len= qbuf.length() + thd->db_length + 1 + QUERY_CACHE_FLAGS_SIZE + 1;
|
||||
buf_len= qbuf.length() + 1 + sizeof(size_t) + thd->db_length +
|
||||
QUERY_CACHE_FLAGS_SIZE + 1;
|
||||
if ((pbuf= (char *) alloc_root(thd->mem_root, buf_len)))
|
||||
{
|
||||
memcpy(pbuf, qbuf.ptr(), qbuf.length());
|
||||
pbuf[qbuf.length()]= 0;
|
||||
memcpy(pbuf+qbuf.length()+1, (char *) &thd->db_length, sizeof(size_t));
|
||||
}
|
||||
else
|
||||
DBUG_RETURN(TRUE);
|
||||
|
Reference in New Issue
Block a user