Loading myisam/rt_split.c +9 −11 Original line number Diff line number Diff line Loading @@ -258,16 +258,15 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uchar *source_cur, *cur1, *cur2; uchar *new_page; int err_code= 0; uint nod_flag= mi_test_if_nod(page); uint full_length= key_length + (nod_flag ? nod_flag : info->s->base.rec_reflength); int max_keys= (mi_getint(page)-2) / (full_length); 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)))) return -1; Loading Loading @@ -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); cur2 = rt_PAGE_FIRST_KEY(new_page, nod_flag); n1 = 0; n2 = 0; n1= n2 = 0; for (cur = task; cur < stop; ++cur) { uchar *to; Loading mysql-test/r/subselect.result +13 −0 Original line number Diff line number Diff line Loading @@ -2803,3 +2803,16 @@ SELECT s.ip, count( e.itemid ) FROM `t1` e JOIN t2 s ON s.sessionid = e.sessioni ip count( e.itemid ) 10.10.10.1 1 drop tables t1,t2; CREATE TABLE t1 (EMPNUM CHAR(3)); CREATE TABLE t2 (EMPNUM CHAR(3) ); INSERT INTO t1 VALUES ('E1'),('E2'); INSERT INTO t2 VALUES ('E1'); DELETE FROM t1 WHERE t1.EMPNUM NOT IN (SELECT t2.EMPNUM FROM t2 WHERE t1.EMPNUM = t2.EMPNUM); select * from t1; EMPNUM E1 DROP TABLE t1,t2; mysql-test/t/subselect.test +2 −1 Original line number Diff line number Diff line Loading @@ -1828,11 +1828,12 @@ drop tables t1,t2; # CREATE TABLE t1 (EMPNUM CHAR(3)); CREATE TABLE t2 (EMPNUM CHAR(3) ); INSERT INTO t1 VALUES ('E1'); INSERT INTO t1 VALUES ('E1'),('E2'); INSERT INTO t2 VALUES ('E1'); DELETE FROM t1 WHERE t1.EMPNUM NOT IN (SELECT t2.EMPNUM FROM t2 WHERE t1.EMPNUM = t2.EMPNUM); select * from t1; DROP TABLE t1,t2; ndb/src/ndbapi/Ndb.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -230,9 +230,10 @@ Remark: Disconnect all connections to the database. void Ndb::doDisconnect() { DBUG_ENTER("Ndb::doDisconnect"); NdbTransaction* tNdbCon; CHECK_STATUS_MACRO_VOID; /* DBUG_ENTER must be after CHECK_STATUS_MACRO_VOID because of 'return' */ DBUG_ENTER("Ndb::doDisconnect"); Uint32 tNoOfDbNodes = theImpl->theNoOfDBnodes; Uint8 *theDBnodes= theImpl->theDBnodes; Loading sql/field_conv.cc +5 −1 Original line number Diff line number Diff line Loading @@ -605,6 +605,10 @@ void field_conv(Field *to,Field *from) to->type() != FIELD_TYPE_DATE && to->type() != FIELD_TYPE_DATETIME)) { // 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()); return; } Loading Loading
myisam/rt_split.c +9 −11 Original line number Diff line number Diff line Loading @@ -258,16 +258,15 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uchar *source_cur, *cur1, *cur2; uchar *new_page; int err_code= 0; uint nod_flag= mi_test_if_nod(page); uint full_length= key_length + (nod_flag ? nod_flag : info->s->base.rec_reflength); int max_keys= (mi_getint(page)-2) / (full_length); 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)))) return -1; Loading Loading @@ -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); cur2 = rt_PAGE_FIRST_KEY(new_page, nod_flag); n1 = 0; n2 = 0; n1= n2 = 0; for (cur = task; cur < stop; ++cur) { uchar *to; Loading
mysql-test/r/subselect.result +13 −0 Original line number Diff line number Diff line Loading @@ -2803,3 +2803,16 @@ SELECT s.ip, count( e.itemid ) FROM `t1` e JOIN t2 s ON s.sessionid = e.sessioni ip count( e.itemid ) 10.10.10.1 1 drop tables t1,t2; CREATE TABLE t1 (EMPNUM CHAR(3)); CREATE TABLE t2 (EMPNUM CHAR(3) ); INSERT INTO t1 VALUES ('E1'),('E2'); INSERT INTO t2 VALUES ('E1'); DELETE FROM t1 WHERE t1.EMPNUM NOT IN (SELECT t2.EMPNUM FROM t2 WHERE t1.EMPNUM = t2.EMPNUM); select * from t1; EMPNUM E1 DROP TABLE t1,t2;
mysql-test/t/subselect.test +2 −1 Original line number Diff line number Diff line Loading @@ -1828,11 +1828,12 @@ drop tables t1,t2; # CREATE TABLE t1 (EMPNUM CHAR(3)); CREATE TABLE t2 (EMPNUM CHAR(3) ); INSERT INTO t1 VALUES ('E1'); INSERT INTO t1 VALUES ('E1'),('E2'); INSERT INTO t2 VALUES ('E1'); DELETE FROM t1 WHERE t1.EMPNUM NOT IN (SELECT t2.EMPNUM FROM t2 WHERE t1.EMPNUM = t2.EMPNUM); select * from t1; DROP TABLE t1,t2;
ndb/src/ndbapi/Ndb.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -230,9 +230,10 @@ Remark: Disconnect all connections to the database. void Ndb::doDisconnect() { DBUG_ENTER("Ndb::doDisconnect"); NdbTransaction* tNdbCon; CHECK_STATUS_MACRO_VOID; /* DBUG_ENTER must be after CHECK_STATUS_MACRO_VOID because of 'return' */ DBUG_ENTER("Ndb::doDisconnect"); Uint32 tNoOfDbNodes = theImpl->theNoOfDBnodes; Uint8 *theDBnodes= theImpl->theDBnodes; Loading
sql/field_conv.cc +5 −1 Original line number Diff line number Diff line Loading @@ -605,6 +605,10 @@ void field_conv(Field *to,Field *from) to->type() != FIELD_TYPE_DATE && to->type() != FIELD_TYPE_DATETIME)) { // 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()); return; } Loading