File: ndb_blob.result

package info (click to toggle)
percona-xtrabackup 2.2.3-2.1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 293,260 kB
  • ctags: 146,881
  • sloc: cpp: 1,051,960; ansic: 570,217; java: 54,595; perl: 53,495; pascal: 44,194; sh: 27,826; yacc: 15,314; python: 12,142; xml: 7,848; sql: 4,125; makefile: 1,459; awk: 785; lex: 758
file content (721 lines) | stat: -rw-r--r-- 23,257 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
drop table if exists t1;
drop database if exists test2;
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	#	
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
delete from t1 where a=45567;
commit;
delete from t1 where a=1;
delete from t1 where a=2;
commit;
select count(*) from t1;
count(*)
0
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	#	
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
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
1	SIMPLE	t1	ref	c	c	4	const	#	
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
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	#	
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
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	#	
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	#	Using where with pushed condition; 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	index	c	PRIMARY	4	NULL	#	Using where with pushed condition
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
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;
set autocommit=0;
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
1	y
delete from t1;
select * from t1;
a	b
commit;
replace t1 set a=2, b='y';
select * from t1;
a	b
2	y
delete from t1;
select * from t1;
a	b
drop table t1;
set autocommit=0;
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	
commit;
begin;
insert into t1 values (3, repeat("w", 8000));
insert into t1 values (2, repeat("x", 10000)),
(3, repeat("y", 5000)),
(4, repeat("z", 15000));
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
rollback;
commit;
drop table t1;
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
set autocommit=1;
alter table t1 engine=myisam;
select * from t1 order by a;
a	b
1	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2	BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
drop table t1;
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
so bad data will not crash kernel.');
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.
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
drop table t1;
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;
create table t1(
a int,
blob_nn blob not null,
text_nn text not null,
blob_nl blob,
text_nl text,
primary key(a)
) engine=ndb;
insert into t1(a) values (1);
Warnings:
Warning	1364	Field 'blob_nn' doesn't have a default value
Warning	1364	Field 'text_nn' doesn't have a default value
insert into t1(a, text_nl) values (2, 'MySQL Cluster NDB');
Warnings:
Warning	1364	Field 'blob_nn' doesn't have a default value
Warning	1364	Field 'text_nn' doesn't have a default value
select a, length(blob_nn), length(text_nn), blob_nl, text_nl from t1 order by a;
a	length(blob_nn)	length(text_nn)	blob_nl	text_nl
1	0	0	NULL	NULL
2	0	0	NULL	MySQL Cluster NDB
drop table t1;
create table `t1` (
`f1` int(11) not null default -1,
`f11` text,
unique key `i1` (`f1`)
) engine=ndbcluster default charset=utf8;
insert into `t1` values (123,null);
create table `t2` (
`f1` int(11) not null default -1,
unique key `i2` (`f1`)
) engine=ndbcluster default charset=utf8;
begin;
delete from t2 where f1=5;
delete from t1 where f1=123;
delete from t2 where f1=5;
commit;
show warnings;
Level	Code	Message
drop table t1;
drop table t2;
create table t1 (
a    int primary key,
giga longblob) 
engine=ndb;
set @stuff = '1234567890';
insert into t1 values (0, repeat(@stuff, 2000));
select sha1(repeat(@stuff, 2000));
sha1(repeat(@stuff, 2000))
c8d94eb4127361ac22cf1c8a8f1178a37fb25e41
select sha1(giga) from t1;
sha1(giga)
c8d94eb4127361ac22cf1c8a8f1178a37fb25e41
select (giga = repeat(@stuff, 2000)) from t1 where a=0;
(giga = repeat(@stuff, 2000))
1
drop table t1;
Test that automatic lock upgrade on Blobs behaves as expected
w.r.t other operations on the table.
create table t1 (a int primary key, b longblob, c int, unique(c)) engine=ndb;
insert into t1 values (1, repeat('1', 256), 1);
insert into t1 values (2, repeat('2', 2256), 2);
insert into t1 values (3, repeat('3', 4256), 3);
insert into t1 values (4, repeat('4', 8256), 4);
insert into t1 values (5, repeat('5', 20000), 5);
No Deadlock scenarios
Transaction 1 reading PK with no lock.  Transaction 2 reading PK with EX lock
begin;
select a, length(b) from t1 where a=2;
a	length(b)
2	2256
select a, length(b) from t1 where a=2 FOR UPDATE;
a	length(b)
2	2256
Transaction 2 scanning with EX lock - will not deadlock with transaction 1
select a, length(b) from t1 ORDER BY a FOR UPDATE;
a	length(b)
1	256
2	2256
3	4256
4	8256
5	20000
commit;
Transaction1 reading PK with SH lock.  Transaction 2 reading PK with no lock
begin;
select a, length(b) from t1 where a=3 LOCK IN SHARE MODE;
a	length(b)
3	4256
select a, length(b) from t1 where a=3;
a	length(b)
3	4256
Transaction 2 scanning with SH lock - will not deadlock with transaction 1
select a, length(b) from t1 ORDER BY a;
a	length(b)
1	256
2	2256
3	4256
4	8256
5	20000
commit;
Transaction1 reading PK with SH lock.  Transaction 2 reading PK with SH lock
begin;
select a, length(b) from t1 where a=4 LOCK IN SHARE MODE;
a	length(b)
4	8256
select a, length(b) from t1 where a=4 LOCK IN SHARE MODE;
a	length(b)
4	8256
Transaction 2 scanning with SH lock - will not deadlock with transaction 1
select a, length(b) from t1 ORDER BY a LOCK IN SHARE MODE;
a	length(b)
1	256
2	2256
3	4256
4	8256
5	20000
commit;
Deadlock scenarios on PK access : 
Transaction 1 reading PK with EX lock.  Transaction 2 reading PK with no lock
begin;
select a, length(b) from t1 where a=5 FOR UPDATE;
a	length(b)
5	20000
select a, length(b) from t1 where a=5;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
commit;
Transaction 1 reading PK with EX lock.  Transaction 2 reading PK with SH lock
begin;
select a, length(b) from t1 where a=1 FOR UPDATE;
a	length(b)
1	256
select a, length(b) from t1 where a=1 LOCK IN SHARE MODE;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
commit;
Verify that Nolock Unique index access still deadlocks
as unique index accesses always upgrade to SH
begin;
select a, length(b) from t1 where c=2;
a	length(b)
2	2256
select a, length(b) from t1 FOR UPDATE;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
commit;
drop table t1;