2004-07-22 12:38:09 +02:00
|
|
|
drop table if exists t1;
|
2004-10-31 15:33:56 +01:00
|
|
|
drop database if exists test2;
|
2004-07-22 12:38:09 +02:00
|
|
|
set autocommit=0;
|
|
|
|
create table t1 (
|
|
|
|
a int not null primary key,
|
|
|
|
b text not null,
|
|
|
|
c int not null,
|
|
|
|
d longblob,
|
|
|
|
key (c)
|
|
|
|
) engine=ndbcluster;
|
|
|
|
set @x0 = '01234567012345670123456701234567';
|
|
|
|
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
|
|
|
|
set @b1 = 'b1';
|
|
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
|
|
set @b1 = concat(@b1,@x0);
|
|
|
|
set @d1 = 'dd1';
|
|
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
|
|
set @b2 = 'b2';
|
|
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
|
|
set @d2 = 'dd2';
|
|
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
|
|
select length(@x0),length(@b1),length(@d1) from dual;
|
|
|
|
length(@x0) length(@b1) length(@d1)
|
|
|
|
256 2256 3000
|
|
|
|
select length(@x0),length(@b2),length(@d2) from dual;
|
|
|
|
length(@x0) length(@b2) length(@d2)
|
|
|
|
256 20000 30000
|
|
|
|
insert into t1 values(1,@b1,111,@d1);
|
|
|
|
insert into t1 values(2,@b2,222,@d2);
|
|
|
|
commit;
|
|
|
|
explain select * from t1 where a = 1;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a=1;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
|
|
|
|
from t1 where a=2;
|
|
|
|
a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
update t1 set b=@b2,d=@d2 where a=1;
|
|
|
|
update t1 set b=@b1,d=@d1 where a=2;
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
|
|
|
|
from t1 where a=1;
|
|
|
|
a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
|
|
|
|
1 20000 b2 30000 dd2
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a=2;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
2 2256 b1 3000 dd1
|
|
|
|
update t1 set b=concat(b,b),d=concat(d,d) where a=1;
|
|
|
|
update t1 set b=concat(b,b),d=concat(d,d) where a=2;
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
|
|
|
|
from t1 where a=1;
|
|
|
|
a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
|
|
|
|
1 40000 b2 60000 dd2
|
|
|
|
select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
|
|
|
|
from t1 where a=2;
|
|
|
|
a length(b) substr(b,1+4*900,2) length(d) substr(d,1+6*900,3)
|
|
|
|
2 4512 b1 6000 dd1
|
|
|
|
update t1 set d=null where a=1;
|
|
|
|
commit;
|
|
|
|
select a from t1 where d is null;
|
|
|
|
a
|
|
|
|
1
|
2007-03-21 09:13:05 +01:00
|
|
|
delete from t1 where a=45567;
|
|
|
|
commit;
|
2004-07-22 12:38:09 +02:00
|
|
|
delete from t1 where a=1;
|
|
|
|
delete from t1 where a=2;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
2004-10-31 15:33:56 +01:00
|
|
|
replace t1 set a=1,b=@b1,c=111,d=@d1;
|
|
|
|
replace t1 set a=2,b=@b2,c=222,d=@d2;
|
|
|
|
commit;
|
|
|
|
explain select * from t1 where a = 1;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a=1;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
|
|
|
|
from t1 where a=2;
|
|
|
|
a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
replace t1 set a=1,b=@b2,c=111,d=@d2;
|
|
|
|
replace t1 set a=2,b=@b1,c=222,d=@d1;
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
|
|
|
|
from t1 where a=1;
|
|
|
|
a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
|
|
|
|
1 20000 b2 30000 dd2
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a=2;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
2 2256 b1 3000 dd1
|
|
|
|
replace t1 set a=1,b=concat(@b2,@b2),c=111,d=concat(@d2,@d2);
|
|
|
|
replace t1 set a=2,b=concat(@b1,@b1),c=222,d=concat(@d1,@d1);
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
|
|
|
|
from t1 where a=1;
|
|
|
|
a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
|
|
|
|
1 40000 b2 60000 dd2
|
|
|
|
select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
|
|
|
|
from t1 where a=2;
|
|
|
|
a length(b) substr(b,1+4*900,2) length(d) substr(d,1+6*900,3)
|
|
|
|
2 4512 b1 6000 dd1
|
|
|
|
replace t1 set a=1,b='xyz',c=111,d=null;
|
|
|
|
commit;
|
|
|
|
select a,b from t1 where d is null;
|
|
|
|
a b
|
|
|
|
1 xyz
|
|
|
|
delete from t1 where a=1;
|
|
|
|
delete from t1 where a=2;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
2004-07-22 12:38:09 +02:00
|
|
|
insert into t1 values(1,@b1,111,@d1);
|
|
|
|
insert into t1 values(2,@b2,222,@d2);
|
|
|
|
commit;
|
|
|
|
explain select * from t1 where c = 111;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
2004-11-02 10:28:39 +01:00
|
|
|
1 SIMPLE t1 ref c c 4 const 10
|
2004-07-22 12:38:09 +02:00
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where c=111;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
|
|
|
|
from t1 where c=222;
|
|
|
|
a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
update t1 set b=@b2,d=@d2 where c=111;
|
|
|
|
update t1 set b=@b1,d=@d1 where c=222;
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
|
|
|
|
from t1 where c=111;
|
|
|
|
a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
|
|
|
|
1 20000 b2 30000 dd2
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where c=222;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
2 2256 b1 3000 dd1
|
|
|
|
update t1 set d=null where c=111;
|
|
|
|
commit;
|
|
|
|
select a from t1 where d is null;
|
|
|
|
a
|
|
|
|
1
|
|
|
|
delete from t1 where c=111;
|
|
|
|
delete from t1 where c=222;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
|
|
|
insert into t1 values(1,'b1',111,'dd1');
|
|
|
|
insert into t1 values(2,'b2',222,'dd2');
|
|
|
|
insert into t1 values(3,'b3',333,'dd3');
|
|
|
|
insert into t1 values(4,'b4',444,'dd4');
|
|
|
|
insert into t1 values(5,'b5',555,'dd5');
|
|
|
|
insert into t1 values(6,'b6',666,'dd6');
|
|
|
|
insert into t1 values(7,'b7',777,'dd7');
|
|
|
|
insert into t1 values(8,'b8',888,'dd8');
|
|
|
|
insert into t1 values(9,'b9',999,'dd9');
|
|
|
|
commit;
|
|
|
|
explain select * from t1;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
moved all ndb thread specific data into new placeholder
new methods to keep "records" up to date
unset flag HA_NOT_EXACT_COUNT to make handler read "records" field, for count() optim and join optimization
new methods to keep "records" up to datecorrect record field in ndbcluster handler
new method for ndbcluster handler to store/retrieve table and thread specific data
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
hanged deleteKey to return ponter to deleted object
moved heavy global cache fetch from inline to separate method
mysql-test/r/ndb_alter_table.result:
correct record field in ndbcluster handler
mysql-test/r/ndb_blob.result:
correct record field in ndbcluster handler
ndb/include/ndbapi/NdbDictionary.hpp:
new method for ndbcluster handler to store/retrieve table and thread specific data
ndb/src/ndbapi/DictCache.cpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
ndb/src/ndbapi/DictCache.hpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
ndb/src/ndbapi/Ndb.cpp:
replaced method DictionaryImpl::getTable with DictionaryImpl::get_local_table_info
ndb/src/ndbapi/NdbDictionary.cpp:
new method for ndbcluster handler to store/retrieve table and thread specific data
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
moved heavy global cache fetch from inline to separate method
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
replaced method DictionaryImpl::getTable with DictionaryImpl::get_local_table_info
ndb/src/ndbapi/NdbLinHash.hpp:
changed deleteKey to return ponter to deleted object
sql/ha_ndbcluster.cc:
moved all ndb thread specific data into new placeholder
new methods to keep "records" up to date
unset flag HA_NOT_EXACT_COUNT to make handler read "records" field, for count() optim and join optimization
sql/ha_ndbcluster.h:
new methods to keep "records" up to date
sql/sql_class.h:
moved all ndb thread specific data into new placeholder
2004-09-14 10:52:21 +02:00
|
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 9
|
2004-07-22 12:38:09 +02:00
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d
|
|
|
|
1 b1 111 dd1
|
|
|
|
2 b2 222 dd2
|
|
|
|
3 b3 333 dd3
|
|
|
|
4 b4 444 dd4
|
|
|
|
5 b5 555 dd5
|
|
|
|
6 b6 666 dd6
|
|
|
|
7 b7 777 dd7
|
|
|
|
8 b8 888 dd8
|
|
|
|
9 b9 999 dd9
|
|
|
|
update t1 set b=concat(a,'x',b),d=concat(a,'x',d);
|
|
|
|
commit;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d
|
|
|
|
1 1xb1 111 1xdd1
|
|
|
|
2 2xb2 222 2xdd2
|
|
|
|
3 3xb3 333 3xdd3
|
|
|
|
4 4xb4 444 4xdd4
|
|
|
|
5 5xb5 555 5xdd5
|
|
|
|
6 6xb6 666 6xdd6
|
|
|
|
7 7xb7 777 7xdd7
|
|
|
|
8 8xb8 888 8xdd8
|
|
|
|
9 9xb9 999 9xdd9
|
|
|
|
delete from t1;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
|
|
|
insert into t1 values(1,@b1,111,@d1);
|
|
|
|
insert into t1 values(2,@b2,222,@d2);
|
|
|
|
commit;
|
|
|
|
explain select * from t1;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
moved all ndb thread specific data into new placeholder
new methods to keep "records" up to date
unset flag HA_NOT_EXACT_COUNT to make handler read "records" field, for count() optim and join optimization
new methods to keep "records" up to datecorrect record field in ndbcluster handler
new method for ndbcluster handler to store/retrieve table and thread specific data
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
hanged deleteKey to return ponter to deleted object
moved heavy global cache fetch from inline to separate method
mysql-test/r/ndb_alter_table.result:
correct record field in ndbcluster handler
mysql-test/r/ndb_blob.result:
correct record field in ndbcluster handler
ndb/include/ndbapi/NdbDictionary.hpp:
new method for ndbcluster handler to store/retrieve table and thread specific data
ndb/src/ndbapi/DictCache.cpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
ndb/src/ndbapi/DictCache.hpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
ndb/src/ndbapi/Ndb.cpp:
replaced method DictionaryImpl::getTable with DictionaryImpl::get_local_table_info
ndb/src/ndbapi/NdbDictionary.cpp:
new method for ndbcluster handler to store/retrieve table and thread specific data
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
moved heavy global cache fetch from inline to separate method
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
replaced method DictionaryImpl::getTable with DictionaryImpl::get_local_table_info
ndb/src/ndbapi/NdbLinHash.hpp:
changed deleteKey to return ponter to deleted object
sql/ha_ndbcluster.cc:
moved all ndb thread specific data into new placeholder
new methods to keep "records" up to date
unset flag HA_NOT_EXACT_COUNT to make handler read "records" field, for count() optim and join optimization
sql/ha_ndbcluster.h:
new methods to keep "records" up to date
sql/sql_class.h:
moved all ndb thread specific data into new placeholder
2004-09-14 10:52:21 +02:00
|
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
|
2004-07-22 12:38:09 +02:00
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 order by a;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
update t1 set b=concat(b,b),d=concat(d,d);
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
|
|
|
|
from t1 order by a;
|
|
|
|
a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
|
|
|
|
1 4512 6000
|
|
|
|
2 40000 b2 60000 dd2
|
|
|
|
delete from t1;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
|
|
|
insert into t1 values(1,'b1',111,'dd1');
|
|
|
|
insert into t1 values(2,'b2',222,'dd2');
|
|
|
|
insert into t1 values(3,'b3',333,'dd3');
|
|
|
|
insert into t1 values(4,'b4',444,'dd4');
|
|
|
|
insert into t1 values(5,'b5',555,'dd5');
|
|
|
|
insert into t1 values(6,'b6',666,'dd6');
|
|
|
|
insert into t1 values(7,'b7',777,'dd7');
|
|
|
|
insert into t1 values(8,'b8',888,'dd8');
|
|
|
|
insert into t1 values(9,'b9',999,'dd9');
|
|
|
|
commit;
|
|
|
|
explain select * from t1 where c >= 100 order by a;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 SIMPLE t1 range c c 4 NULL 10 Using where; Using filesort
|
|
|
|
select * from t1 where c >= 100 order by a;
|
|
|
|
a b c d
|
|
|
|
1 b1 111 dd1
|
|
|
|
2 b2 222 dd2
|
|
|
|
3 b3 333 dd3
|
|
|
|
4 b4 444 dd4
|
|
|
|
5 b5 555 dd5
|
|
|
|
6 b6 666 dd6
|
|
|
|
7 b7 777 dd7
|
|
|
|
8 b8 888 dd8
|
|
|
|
9 b9 999 dd9
|
|
|
|
update t1 set b=concat(a,'x',b),d=concat(a,'x',d)
|
|
|
|
where c >= 100;
|
|
|
|
commit;
|
|
|
|
select * from t1 where c >= 100 order by a;
|
|
|
|
a b c d
|
|
|
|
1 1xb1 111 1xdd1
|
|
|
|
2 2xb2 222 2xdd2
|
|
|
|
3 3xb3 333 3xdd3
|
|
|
|
4 4xb4 444 4xdd4
|
|
|
|
5 5xb5 555 5xdd5
|
|
|
|
6 6xb6 666 6xdd6
|
|
|
|
7 7xb7 777 7xdd7
|
|
|
|
8 8xb8 888 8xdd8
|
|
|
|
9 9xb9 999 9xdd9
|
|
|
|
delete from t1 where c >= 100;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
|
|
|
insert into t1 values(1,@b1,111,@d1);
|
|
|
|
insert into t1 values(2,@b2,222,@d2);
|
|
|
|
commit;
|
|
|
|
explain select * from t1 where c >= 100 order by a;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 SIMPLE t1 range c c 4 NULL 10 Using where; Using filesort
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where c >= 100 order by a;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
update t1 set b=concat(b,b),d=concat(d,d);
|
|
|
|
commit;
|
|
|
|
select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
|
|
|
|
from t1 where c >= 100 order by a;
|
|
|
|
a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
|
|
|
|
1 4512 6000
|
|
|
|
2 40000 b2 60000 dd2
|
|
|
|
delete from t1 where c >= 100;
|
|
|
|
commit;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
|
|
|
insert into t1 values(1,@b1,111,@d1);
|
|
|
|
insert into t1 values(2,@b2,222,@d2);
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a = 0;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a = 1;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 where a = 2;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
|
|
|
from t1 order by a;
|
|
|
|
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
|
|
|
1 2256 b1 3000 dd1
|
|
|
|
2 20000 b2 30000 dd2
|
|
|
|
rollback;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
2004-10-31 15:33:56 +01:00
|
|
|
insert into t1 values(1,'b1',111,'dd1');
|
|
|
|
insert into t1 values(2,'b2',222,'dd2');
|
|
|
|
insert into t1 values(3,'b3',333,'dd3');
|
|
|
|
insert into t1 values(4,'b4',444,'dd4');
|
|
|
|
insert into t1 values(5,'b5',555,'dd5');
|
|
|
|
insert into t1 values(6,'b6',666,'dd6');
|
|
|
|
insert into t1 values(7,'b7',777,'dd7');
|
|
|
|
insert into t1 values(8,'b8',888,'dd8');
|
|
|
|
insert into t1 values(9,'b9',999,'dd9');
|
|
|
|
commit;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d
|
|
|
|
1 b1 111 dd1
|
|
|
|
2 b2 222 dd2
|
|
|
|
3 b3 333 dd3
|
|
|
|
4 b4 444 dd4
|
|
|
|
5 b5 555 dd5
|
|
|
|
6 b6 666 dd6
|
|
|
|
7 b7 777 dd7
|
|
|
|
8 b8 888 dd8
|
|
|
|
9 b9 999 dd9
|
|
|
|
alter table t1 add x int;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d x
|
|
|
|
1 b1 111 dd1 NULL
|
|
|
|
2 b2 222 dd2 NULL
|
|
|
|
3 b3 333 dd3 NULL
|
|
|
|
4 b4 444 dd4 NULL
|
|
|
|
5 b5 555 dd5 NULL
|
|
|
|
6 b6 666 dd6 NULL
|
|
|
|
7 b7 777 dd7 NULL
|
|
|
|
8 b8 888 dd8 NULL
|
|
|
|
9 b9 999 dd9 NULL
|
|
|
|
alter table t1 drop x;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d
|
|
|
|
1 b1 111 dd1
|
|
|
|
2 b2 222 dd2
|
|
|
|
3 b3 333 dd3
|
|
|
|
4 b4 444 dd4
|
|
|
|
5 b5 555 dd5
|
|
|
|
6 b6 666 dd6
|
|
|
|
7 b7 777 dd7
|
|
|
|
8 b8 888 dd8
|
|
|
|
9 b9 999 dd9
|
|
|
|
create database test2;
|
|
|
|
use test2;
|
|
|
|
CREATE TABLE t2 (
|
|
|
|
a bigint unsigned NOT NULL PRIMARY KEY,
|
|
|
|
b int unsigned not null,
|
|
|
|
c int unsigned
|
|
|
|
) engine=ndbcluster;
|
|
|
|
insert into t2 values (1,1,1),(2,2,2);
|
|
|
|
select * from test.t1,t2 where test.t1.a = t2.a order by test.t1.a;
|
|
|
|
a b c d a b c
|
|
|
|
1 b1 111 dd1 1 1 1
|
|
|
|
2 b2 222 dd2 2 2 2
|
|
|
|
drop table t2;
|
|
|
|
use test;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d
|
|
|
|
1 b1 111 dd1
|
|
|
|
2 b2 222 dd2
|
|
|
|
3 b3 333 dd3
|
|
|
|
4 b4 444 dd4
|
|
|
|
5 b5 555 dd5
|
|
|
|
6 b6 666 dd6
|
|
|
|
7 b7 777 dd7
|
|
|
|
8 b8 888 dd8
|
|
|
|
9 b9 999 dd9
|
|
|
|
alter table t1 add x int;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d x
|
|
|
|
1 b1 111 dd1 NULL
|
|
|
|
2 b2 222 dd2 NULL
|
|
|
|
3 b3 333 dd3 NULL
|
|
|
|
4 b4 444 dd4 NULL
|
|
|
|
5 b5 555 dd5 NULL
|
|
|
|
6 b6 666 dd6 NULL
|
|
|
|
7 b7 777 dd7 NULL
|
|
|
|
8 b8 888 dd8 NULL
|
|
|
|
9 b9 999 dd9 NULL
|
|
|
|
alter table t1 drop x;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b c d
|
|
|
|
1 b1 111 dd1
|
|
|
|
2 b2 222 dd2
|
|
|
|
3 b3 333 dd3
|
|
|
|
4 b4 444 dd4
|
|
|
|
5 b5 555 dd5
|
|
|
|
6 b6 666 dd6
|
|
|
|
7 b7 777 dd7
|
|
|
|
8 b8 888 dd8
|
|
|
|
9 b9 999 dd9
|
|
|
|
drop table t1;
|
|
|
|
drop database test2;
|
2004-11-03 20:21:56 +01:00
|
|
|
set autocommit=0;
|
2004-10-31 15:33:56 +01:00
|
|
|
create table t1 (
|
|
|
|
a int not null primary key,
|
|
|
|
b tinytext
|
|
|
|
) engine=ndbcluster;
|
|
|
|
insert into t1 values(1, 'x');
|
|
|
|
update t1 set b = 'y';
|
|
|
|
select * from t1;
|
|
|
|
a b
|
2004-11-03 20:21:56 +01:00
|
|
|
1 y
|
2004-10-31 15:33:56 +01:00
|
|
|
delete from t1;
|
2004-11-03 20:21:56 +01:00
|
|
|
select * from t1;
|
|
|
|
a b
|
|
|
|
commit;
|
2006-02-03 14:35:29 +01:00
|
|
|
replace t1 set a=2, b='y';
|
|
|
|
select * from t1;
|
|
|
|
a b
|
|
|
|
2 y
|
|
|
|
delete from t1;
|
|
|
|
select * from t1;
|
|
|
|
a b
|
2004-10-31 15:33:56 +01:00
|
|
|
drop table t1;
|
2004-11-03 20:21:56 +01:00
|
|
|
set autocommit=0;
|
2004-10-31 15:33:56 +01:00
|
|
|
create table t1 (
|
|
|
|
a int not null primary key,
|
|
|
|
b text not null
|
|
|
|
) engine=ndbcluster;
|
|
|
|
insert into t1 values(1, '');
|
|
|
|
select * from t1;
|
|
|
|
a b
|
|
|
|
1
|
2004-11-03 20:21:56 +01:00
|
|
|
commit;
|
2004-08-31 13:35:04 +02:00
|
|
|
drop table t1;
|
2004-10-01 13:16:49 +02:00
|
|
|
set autocommit=1;
|
|
|
|
use test;
|
|
|
|
CREATE TABLE t1 (
|
|
|
|
a int,
|
|
|
|
b text,
|
|
|
|
PRIMARY KEY (a)
|
|
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
|
|
|
INSERT INTO t1 VALUES
|
|
|
|
(1,'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
|
|
|
|
INSERT INTO t1 VALUES
|
|
|
|
(2,'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB');
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b
|
|
|
|
1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
|
2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
|
|
|
alter table t1 engine=ndb;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b
|
|
|
|
1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
|
2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
2004-11-03 20:21:56 +01:00
|
|
|
set autocommit=1;
|
2004-10-04 14:26:26 +02:00
|
|
|
alter table t1 engine=myisam;
|
|
|
|
select * from t1 order by a;
|
|
|
|
a b
|
|
|
|
1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
|
2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
2004-10-01 13:16:49 +02:00
|
|
|
drop table t1;
|
2004-12-22 13:38:15 +01:00
|
|
|
create table t1 (
|
|
|
|
id int(11) unsigned primary key NOT NULL auto_increment,
|
|
|
|
msg text NOT NULL
|
|
|
|
) engine=ndbcluster default charset=utf8;
|
|
|
|
insert into t1 (msg) values(
|
|
|
|
'Tries to validate (8 byte length + inline bytes) as UTF8 :(
|
|
|
|
Fast fix: removed validation for Text. It is not yet indexable
|
2006-05-02 14:33:55 +02:00
|
|
|
so bad data will not crash kernel.');
|
2004-12-22 13:38:15 +01:00
|
|
|
select * from t1;
|
|
|
|
id msg
|
|
|
|
1 Tries to validate (8 byte length + inline bytes) as UTF8 :(
|
|
|
|
Fast fix: removed validation for Text. It is not yet indexable
|
|
|
|
so bad data will not crash kernel.
|
2006-05-02 14:33:55 +02:00
|
|
|
drop table t1;
|
|
|
|
create table t1 (
|
|
|
|
a int primary key not null auto_increment,
|
|
|
|
b text
|
|
|
|
) engine=ndbcluster;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
500
|
|
|
|
truncate t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
2004-12-22 13:38:15 +01:00
|
|
|
drop table t1;
|
2006-05-21 11:04:57 +02:00
|
|
|
create table t1 (
|
|
|
|
a varchar(40) not null,
|
|
|
|
b mediumint not null,
|
|
|
|
t text,
|
|
|
|
c varchar(2) not null,
|
|
|
|
d bigint not null,
|
|
|
|
primary key (a,b,c),
|
|
|
|
key (c,a),
|
|
|
|
unique key (d)
|
|
|
|
) engine=ndb;
|
|
|
|
insert into t1 (a,b,c,d,t) values ('a',1110,'a',1,@v1);
|
|
|
|
insert into t1 (a,b,c,d,t) values ('b',1110,'a',2,@v2);
|
|
|
|
insert into t1 (a,b,c,d,t) values ('a',1110,'b',3,@v3);
|
|
|
|
insert into t1 (a,b,c,d,t) values ('b',1110,'b',4,@v4);
|
|
|
|
select a,b,c,d,sha1(t) from t1 order by c,a;
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
|
|
|
|
b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
|
|
|
|
a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
|
|
|
|
b 1110 b 4 NULL
|
|
|
|
select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='a';
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
|
|
|
|
select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='b';
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
|
|
|
|
update t1 set t=@v4 where a='b' and b=1110 and c='a';
|
|
|
|
update t1 set t=@v2 where a='b' and b=1110 and c='b';
|
|
|
|
select a,b,c,d,sha1(t) from t1 order by c,a;
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
|
|
|
|
b 1110 a 2 NULL
|
|
|
|
a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
|
|
|
|
b 1110 b 4 b238654911689bfb626a3ef9dba4a1ca074e6a5e
|
|
|
|
update t1 set t=@v2 where d=2;
|
|
|
|
update t1 set t=@v4 where d=4;
|
|
|
|
select a,b,c,d,sha1(t) from t1 order by c,a;
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
|
|
|
|
b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
|
|
|
|
a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
|
|
|
|
b 1110 b 4 NULL
|
|
|
|
update t1 set t=@v4 where a='b' and c='a';
|
|
|
|
update t1 set t=@v2 where a='b' and c='b';
|
|
|
|
select a,b,c,d,sha1(t) from t1 order by c,a;
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
|
|
|
|
b 1110 a 2 NULL
|
|
|
|
a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
|
|
|
|
b 1110 b 4 b238654911689bfb626a3ef9dba4a1ca074e6a5e
|
|
|
|
update t1 set t=@v2 where b+d=1112;
|
|
|
|
update t1 set t=@v4 where b+d=1114;
|
|
|
|
select a,b,c,d,sha1(t) from t1 order by c,a;
|
|
|
|
a b c d sha1(t)
|
|
|
|
a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
|
|
|
|
b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
|
|
|
|
a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
|
|
|
|
b 1110 b 4 NULL
|
|
|
|
delete from t1 where a='a' and b=1110 and c='a';
|
|
|
|
delete from t1 where a='b' and c='a';
|
|
|
|
delete from t1 where d=3;
|
|
|
|
delete from t1 where b+d=1114;
|
|
|
|
select count(*) from t1;
|
|
|
|
count(*)
|
|
|
|
0
|
|
|
|
drop table t1;
|