mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
compatibility issues
Fixed errors reported by valgrind (some errors in NDB remains)
This commit is contained in:
@ -258,16 +258,15 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
|
|||||||
uchar *source_cur, *cur1, *cur2;
|
uchar *source_cur, *cur1, *cur2;
|
||||||
uchar *new_page;
|
uchar *new_page;
|
||||||
int err_code= 0;
|
int err_code= 0;
|
||||||
|
|
||||||
uint nod_flag= mi_test_if_nod(page);
|
uint nod_flag= mi_test_if_nod(page);
|
||||||
uint full_length= key_length + (nod_flag ? nod_flag :
|
uint full_length= key_length + (nod_flag ? nod_flag :
|
||||||
info->s->base.rec_reflength);
|
info->s->base.rec_reflength);
|
||||||
|
|
||||||
int max_keys= (mi_getint(page)-2) / (full_length);
|
int max_keys= (mi_getint(page)-2) / (full_length);
|
||||||
|
|
||||||
n_dim = keyinfo->keysegs / 2;
|
n_dim = keyinfo->keysegs / 2;
|
||||||
|
|
||||||
if (!(coord_buf= my_alloca(n_dim * 2 * sizeof(double) * (max_keys + 1 + 4) +
|
if (!(coord_buf= (double*) my_alloca(n_dim * 2 * sizeof(double) *
|
||||||
|
(max_keys + 1 + 4) +
|
||||||
sizeof(SplitStruct) * (max_keys + 1))))
|
sizeof(SplitStruct) * (max_keys + 1))))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -311,8 +310,7 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
|
|||||||
cur1 = rt_PAGE_FIRST_KEY(page, nod_flag);
|
cur1 = rt_PAGE_FIRST_KEY(page, nod_flag);
|
||||||
cur2 = rt_PAGE_FIRST_KEY(new_page, nod_flag);
|
cur2 = rt_PAGE_FIRST_KEY(new_page, nod_flag);
|
||||||
|
|
||||||
n1 = 0;
|
n1= n2 = 0;
|
||||||
n2 = 0;
|
|
||||||
for (cur = task; cur < stop; ++cur)
|
for (cur = task; cur < stop; ++cur)
|
||||||
{
|
{
|
||||||
uchar *to;
|
uchar *to;
|
||||||
|
@ -230,9 +230,10 @@ Remark: Disconnect all connections to the database.
|
|||||||
void
|
void
|
||||||
Ndb::doDisconnect()
|
Ndb::doDisconnect()
|
||||||
{
|
{
|
||||||
DBUG_ENTER("Ndb::doDisconnect");
|
|
||||||
NdbTransaction* tNdbCon;
|
NdbTransaction* tNdbCon;
|
||||||
CHECK_STATUS_MACRO_VOID;
|
CHECK_STATUS_MACRO_VOID;
|
||||||
|
/* DBUG_ENTER must be after CHECK_STATUS_MACRO_VOID because of 'return' */
|
||||||
|
DBUG_ENTER("Ndb::doDisconnect");
|
||||||
|
|
||||||
Uint32 tNoOfDbNodes = theImpl->theNoOfDBnodes;
|
Uint32 tNoOfDbNodes = theImpl->theNoOfDBnodes;
|
||||||
Uint8 *theDBnodes= theImpl->theDBnodes;
|
Uint8 *theDBnodes= theImpl->theDBnodes;
|
||||||
|
@ -605,6 +605,10 @@ void field_conv(Field *to,Field *from)
|
|||||||
to->type() != FIELD_TYPE_DATE &&
|
to->type() != FIELD_TYPE_DATE &&
|
||||||
to->type() != FIELD_TYPE_DATETIME))
|
to->type() != FIELD_TYPE_DATETIME))
|
||||||
{ // Identical fields
|
{ // Identical fields
|
||||||
|
#ifdef HAVE_purify
|
||||||
|
/* This may happen if one does 'UPDATE ... SET x=x' */
|
||||||
|
if (to->ptr != from->ptr)
|
||||||
|
#endif
|
||||||
memcpy(to->ptr,from->ptr,to->pack_length());
|
memcpy(to->ptr,from->ptr,to->pack_length());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -584,13 +584,8 @@ bool Item_sum_distinct::setup(THD *thd)
|
|||||||
{
|
{
|
||||||
List<create_field> field_list;
|
List<create_field> field_list;
|
||||||
create_field field_def; /* field definition */
|
create_field field_def; /* field definition */
|
||||||
|
|
||||||
DBUG_ENTER("Item_sum_distinct::setup");
|
DBUG_ENTER("Item_sum_distinct::setup");
|
||||||
|
DBUG_ASSERT(tree == 0);
|
||||||
/*
|
|
||||||
Setup can be called twice for ROLLUP items. This is a bug.
|
|
||||||
Please add DBUG_ASSERT(tree == 0) here when it's fixed.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Virtual table and the tree are created anew on each re-execution of
|
Virtual table and the tree are created anew on each re-execution of
|
||||||
|
@ -48,7 +48,7 @@ bool mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds,
|
|||||||
{
|
{
|
||||||
my_error(ER_VIEW_DELETE_MERGE_VIEW, MYF(0),
|
my_error(ER_VIEW_DELETE_MERGE_VIEW, MYF(0),
|
||||||
table_list->view_db.str, table_list->view_name.str);
|
table_list->view_db.str, table_list->view_name.str);
|
||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
table->file->info(HA_STATUS_VARIABLE | HA_STATUS_NO_LOCK);
|
table->file->info(HA_STATUS_VARIABLE | HA_STATUS_NO_LOCK);
|
||||||
thd->proc_info="init";
|
thd->proc_info="init";
|
||||||
|
@ -1270,8 +1270,10 @@ void free_items(Item *item)
|
|||||||
|
|
||||||
void cleanup_items(Item *item)
|
void cleanup_items(Item *item)
|
||||||
{
|
{
|
||||||
|
DBUG_ENTER("cleanup_items");
|
||||||
for (; item ; item=item->next)
|
for (; item ; item=item->next)
|
||||||
item->cleanup();
|
item->cleanup();
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
|
int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
|
||||||
|
@ -12655,8 +12655,10 @@ static bool setup_sum_funcs(THD *thd, Item_sum **func_ptr)
|
|||||||
Item_sum *func;
|
Item_sum *func;
|
||||||
DBUG_ENTER("setup_sum_funcs");
|
DBUG_ENTER("setup_sum_funcs");
|
||||||
while ((func= *(func_ptr++)))
|
while ((func= *(func_ptr++)))
|
||||||
|
{
|
||||||
if (func->setup(thd))
|
if (func->setup(thd))
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
|
}
|
||||||
DBUG_RETURN(FALSE);
|
DBUG_RETURN(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -12943,8 +12945,6 @@ bool JOIN::rollup_make_fields(List<Item> &fields_arg, List<Item> &sel_fields,
|
|||||||
*/
|
*/
|
||||||
item= item->copy_or_same(thd);
|
item= item->copy_or_same(thd);
|
||||||
((Item_sum*) item)->make_unique();
|
((Item_sum*) item)->make_unique();
|
||||||
if (((Item_sum*) item)->setup(thd))
|
|
||||||
return 1;
|
|
||||||
*(*func)= (Item_sum*) item;
|
*(*func)= (Item_sum*) item;
|
||||||
(*func)++;
|
(*func)++;
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,16 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap)
|
|||||||
to+= res_length;
|
to+= res_length;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
else if (*fmt == 'c') /* Character parameter */
|
||||||
|
{
|
||||||
|
register int larg;
|
||||||
|
if (to == end)
|
||||||
|
break;
|
||||||
|
larg = va_arg(ap, int);
|
||||||
|
*to++= (char) larg;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* We come here on '%%', unknown code or too long parameter */
|
/* We come here on '%%', unknown code or too long parameter */
|
||||||
if (to == end)
|
if (to == end)
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user