mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Bug12589870 post-merge fixes for Sparc64 and friends
This commit is contained in:
parent
cf66b6511f
commit
7d882c19ec
3 changed files with 8 additions and 5 deletions
|
@ -1044,7 +1044,7 @@ subst_spvars(THD *thd, sp_instr *instr, LEX_STRING *query_str)
|
|||
{
|
||||
memcpy(pbuf, qbuf.ptr(), qbuf.length());
|
||||
pbuf[qbuf.length()]= 0;
|
||||
*(size_t *)(pbuf+qbuf.length()+1)= thd->db_length;
|
||||
memcpy(pbuf+qbuf.length()+1, (char *) &thd->db_length, sizeof(size_t));
|
||||
}
|
||||
else
|
||||
DBUG_RETURN(TRUE);
|
||||
|
|
|
@ -1471,8 +1471,9 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length)
|
|||
sure the new current database has a name with the same length
|
||||
as the previous one.
|
||||
*/
|
||||
size_t *db_len= (size_t *) (sql + query_length + 1);
|
||||
if (thd->db_length != *db_len)
|
||||
size_t db_len;
|
||||
memcpy((char *) &db_len, (sql + query_length + 1), sizeof(size_t));
|
||||
if (thd->db_length != db_len)
|
||||
{
|
||||
/*
|
||||
We should probably reallocate the buffer in this case,
|
||||
|
|
|
@ -492,6 +492,8 @@ static void handle_bootstrap_impl(THD *thd)
|
|||
query= (char *) thd->memdup_w_gap(buff, length + 1,
|
||||
thd->db_length + 1 +
|
||||
QUERY_CACHE_FLAGS_SIZE);
|
||||
size_t db_len= 0;
|
||||
memcpy(query + length + 1, (char *) &db_len, sizeof(size_t));
|
||||
thd->set_query(query, length);
|
||||
DBUG_PRINT("query",("%-.4096s", thd->query()));
|
||||
#if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER)
|
||||
|
@ -1933,8 +1935,8 @@ bool alloc_query(THD *thd, const char *packet, uint packet_length)
|
|||
also store this length, in case current database is changed during
|
||||
execution. We might need to reallocate the 'query' buffer
|
||||
*/
|
||||
size_t *len = (size_t *) (query + packet_length + 1);
|
||||
*len= thd->db_length;
|
||||
char *len_pos = (query + packet_length + 1);
|
||||
memcpy(len_pos, (char *) &thd->db_length, sizeof(size_t));
|
||||
|
||||
thd->set_query(query, packet_length);
|
||||
|
||||
|
|
Loading…
Reference in a new issue