Loading mysql-test/r/ndb_condition_pushdown.result +22 −0 Original line number Diff line number Diff line Loading @@ -1888,5 +1888,27 @@ set engine_condition_pushdown = 1; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); fname lname Young Foo drop table t1; create table t1 (a int, b int, c int, d int, primary key using hash(a)) engine=ndbcluster; insert into t1 values (10,1,100,0+0x1111); insert into t1 values (20,2,200,0+0x2222); insert into t1 values (30,3,300,0+0x3333); insert into t1 values (40,4,400,0+0x4444); insert into t1 values (50,5,500,0+0x5555); set engine_condition_pushdown = on; select a,b,d from t1 where b in (0,1,2,5) order by b; a b d 10 1 4369 20 2 8738 50 5 21845 a b d 10 1 4369 20 2 8738 50 5 21845 Warnings: Warning 4294 Scan filter is too large, discarded set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4,t5; mysql-test/r/ndb_update.result +8 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,12 @@ pk1 b c 10 0 0 12 2 2 14 1 1 create unique index ib on t1(b); update t1 set c = 4 where pk1 = 12; update ignore t1 set b = 55 where pk1 = 14; select * from t1 order by pk1; pk1 b c 10 0 0 12 2 4 14 55 1 DROP TABLE IF EXISTS t1; mysql-test/t/ndb_condition_pushdown.test +1025 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes mysql-test/t/ndb_update.test +5 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4; select * from t1 order by pk1; UPDATE t1 set pk1 = pk1 + 10; select * from t1 order by pk1; # bug#25817 create unique index ib on t1(b); update t1 set c = 4 where pk1 = 12; update ignore t1 set b = 55 where pk1 = 14; select * from t1 order by pk1; --disable_warnings DROP TABLE IF EXISTS t1; Loading ndb/include/kernel/AttributeHeader.hpp +5 −5 Original line number Diff line number Diff line Loading @@ -41,8 +41,7 @@ public: STATIC_CONST( FRAGMENT_MEMORY= 0xFFF9 ); /** Initialize AttributeHeader at location aHeaderPtr */ static AttributeHeader& init(void* aHeaderPtr, Uint32 anAttributeId, Uint32 aDataSize); static void init(Uint32* aHeaderPtr, Uint32 anAttributeId, Uint32 aDataSize); /** Returns size of AttributeHeader (usually one or two words) */ Uint32 getHeaderSize() const; // In 32-bit words Loading Loading @@ -100,10 +99,11 @@ public: */ inline AttributeHeader& AttributeHeader::init(void* aHeaderPtr, Uint32 anAttributeId, void AttributeHeader::init(Uint32* aHeaderPtr, Uint32 anAttributeId, Uint32 aDataSize) { return * new (aHeaderPtr) AttributeHeader(anAttributeId, aDataSize); AttributeHeader ah(anAttributeId, aDataSize); *aHeaderPtr = ah.m_value; } inline Loading Loading
mysql-test/r/ndb_condition_pushdown.result +22 −0 Original line number Diff line number Diff line Loading @@ -1888,5 +1888,27 @@ set engine_condition_pushdown = 1; SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%'); fname lname Young Foo drop table t1; create table t1 (a int, b int, c int, d int, primary key using hash(a)) engine=ndbcluster; insert into t1 values (10,1,100,0+0x1111); insert into t1 values (20,2,200,0+0x2222); insert into t1 values (30,3,300,0+0x3333); insert into t1 values (40,4,400,0+0x4444); insert into t1 values (50,5,500,0+0x5555); set engine_condition_pushdown = on; select a,b,d from t1 where b in (0,1,2,5) order by b; a b d 10 1 4369 20 2 8738 50 5 21845 a b d 10 1 4369 20 2 8738 50 5 21845 Warnings: Warning 4294 Scan filter is too large, discarded set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4,t5;
mysql-test/r/ndb_update.result +8 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,12 @@ pk1 b c 10 0 0 12 2 2 14 1 1 create unique index ib on t1(b); update t1 set c = 4 where pk1 = 12; update ignore t1 set b = 55 where pk1 = 14; select * from t1 order by pk1; pk1 b c 10 0 0 12 2 4 14 55 1 DROP TABLE IF EXISTS t1;
mysql-test/t/ndb_condition_pushdown.test +1025 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes
mysql-test/t/ndb_update.test +5 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4; select * from t1 order by pk1; UPDATE t1 set pk1 = pk1 + 10; select * from t1 order by pk1; # bug#25817 create unique index ib on t1(b); update t1 set c = 4 where pk1 = 12; update ignore t1 set b = 55 where pk1 = 14; select * from t1 order by pk1; --disable_warnings DROP TABLE IF EXISTS t1; Loading
ndb/include/kernel/AttributeHeader.hpp +5 −5 Original line number Diff line number Diff line Loading @@ -41,8 +41,7 @@ public: STATIC_CONST( FRAGMENT_MEMORY= 0xFFF9 ); /** Initialize AttributeHeader at location aHeaderPtr */ static AttributeHeader& init(void* aHeaderPtr, Uint32 anAttributeId, Uint32 aDataSize); static void init(Uint32* aHeaderPtr, Uint32 anAttributeId, Uint32 aDataSize); /** Returns size of AttributeHeader (usually one or two words) */ Uint32 getHeaderSize() const; // In 32-bit words Loading Loading @@ -100,10 +99,11 @@ public: */ inline AttributeHeader& AttributeHeader::init(void* aHeaderPtr, Uint32 anAttributeId, void AttributeHeader::init(Uint32* aHeaderPtr, Uint32 anAttributeId, Uint32 aDataSize) { return * new (aHeaderPtr) AttributeHeader(anAttributeId, aDataSize); AttributeHeader ah(anAttributeId, aDataSize); *aHeaderPtr = ah.m_value; } inline Loading