mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / ndb / t / ndb_blob_partition.test
blob35df57b96babc50096702dbed41fcff6bfb84aa1
1 --source include/have_ndb.inc
2 -- source include/not_embedded.inc
4 --disable_query_log
5 set new=on;
6 --enable_query_log
8 --disable_warnings
9 drop table if exists t1;
10 --enable_warnings
13 # Minimal NDB blobs test with range partitions.
16 create table t1 (
17   a mediumint not null,
18   b text not null,
19   c int not null,
20   d longblob,
21   primary key using hash (a,c),
22   unique key (c)
24   engine=ndb
25   partition by range (c)
26   partitions 3
27   ( partition p1 values less than (200),
28     partition p2 values less than (300),
29     partition p3 values less than (400));
31 --disable_query_log
32 sleep 1;
34 # length 61
35 set @s0 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau';
36 set @s1 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz';
37 set @s2 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah';
39 set @v1 = repeat(@s0, 100); # 1d42dd9090cf78314a06665d4ea938c35cc760f4
40 set @v2 = repeat(@s1, 200); # 10d3c783026b310218d10b7188da96a2401648c6
41 set @v3 = repeat(@s2, 300); # a33549d9844092289a58ac348dd59f09fc28406a
42 set @v4 = repeat(@s0, 400); # daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
43 set @v5 = repeat(@s1, 500); # 70fc9a7d08beebc522258bfb02000a30c77a8f1d
44 set @v6 = repeat(@s2, 600); # 090565c580809efed3d369481a4bbb168b20713e
45 set @v7 = repeat(@s0, 700); # 1e0070bec426871a46291de27b9bd6e4255ab4e5
46 set @v8 = repeat(@s1, 800); # acbaba01bc2e682f015f40e79d9cbe475db3002e
47 set @v9 = repeat(@s2, 900); # 9ee30d99162574f79c66ae95cdf132dcf9cbc259
48 --enable_query_log
50 # -- insert --
51 insert into t1 values (1, @v1, 101, @v2);
52 insert into t1 values (1, @v2, 102, @v3);
53 insert into t1 values (1, @v3, 103, @v4);
54 insert into t1 values (2, @v4, 201, @v5);
55 insert into t1 values (2, @v5, 202, @v6);
56 insert into t1 values (2, @v6, 203, @v7);
57 insert into t1 values (3, @v7, 301, @v8);
58 insert into t1 values (3, @v8, 302, @v9);
59 insert into t1 values (3, @v9, 303, @v1);
60 select a, sha1(b), c, sha1(d) from t1 order by a;
62 # -- pk read --
63 select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101;
64 select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201;
65 select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301;
67 # -- pk update --
68 update t1 set b = @v3, d = @v4 where a = 1 and c = 102;
69 update t1 set b = @v6, d = @v7 where a = 2 and c = 202;
70 update t1 set b = @v9, d = @v1 where a = 3 and c = 302;
71 select a, sha1(b), c, sha1(d) from t1 order by a;
73 # -- hash index update --
74 update t1 set b = @v4, d = @v5 where c = 103;
75 update t1 set b = @v7, d = @v8 where c = 203;
76 update t1 set b = @v1, d = @v2 where c = 303;
77 select a, sha1(b), c, sha1(d) from t1 order by a;
79 # -- full scan update --
80 update t1 set b = @v5, d = @v6;
81 select a, sha1(b), c, sha1(d) from t1 order by a;
83 # -- range scan update
84 update t1 set b = @v1, d = @v2 where 100 < c and c < 200;
85 update t1 set b = @v4, d = @v5 where 200 < c and c < 300;
86 update t1 set b = @v7, d = @v8 where 300 < c and c < 400;
87 select a, sha1(b), c, sha1(d) from t1 order by a;
89 # -- delete --
90 delete from t1 where a = 1 and c = 101;
91 delete from t1 where c = 102;
92 # delete from t1 where c < 300; # XXX coredump
93 delete from t1;
94 select a, sha1(b), c, sha1(d) from t1 order by a;
96 # -- clean up --
97 drop table t1;