Commit e981c427 authored by tomas@whalegate.ndb.mysql.com's avatar tomas@whalegate.ndb.mysql.com
Browse files

Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0

into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
parents 2f88dce6 ca0cbdd8
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -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;
+8 −0
Original line number Diff line number Diff line
@@ -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;
+1025 −0

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
@@ -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;
+5 −5
Original line number Diff line number Diff line
@@ -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
@@ -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