~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/subselect_mat.test

enable subselect_not, subselect_no_mat and variables tests, some other misc clean up on other tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
227
227
explain extended
228
228
select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01');
229
229
select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01');
230
 
explain extended
231
 
select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01' from dual);
232
 
select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01' from dual);
233
230
 
234
231
 
235
232
/******************************************************************************
271
268
set @blob_len = 16;
272
269
set @suffix_len = @blob_len - @prefix_len;
273
270
 
274
 
create table t1_16 (a1 blob(16), a2 blob(16));
275
 
create table t2_16 (b1 blob(16), b2 blob(16));
276
 
create table t3_16 (c1 blob(16), c2 blob(16));
 
271
create table t1_16 (a1 blob, a2 blob);
 
272
create table t2_16 (b1 blob, b2 blob);
 
273
create table t3_16 (c1 blob, c2 blob);
277
274
 
278
275
insert into t1_16 values
279
276
 (concat('1 - 00', repeat('x', @suffix_len)), concat('2 - 00', repeat('x', @suffix_len)));
364
361
set @blob_len = 512;
365
362
set @suffix_len = @blob_len - @prefix_len;
366
363
 
367
 
create table t1_512 (a1 blob(512), a2 blob(512));
368
 
create table t2_512 (b1 blob(512), b2 blob(512));
369
 
create table t3_512 (c1 blob(512), c2 blob(512));
 
364
create table t1_512 (a1 blob, a2 blob);
 
365
create table t2_512 (b1 blob, b2 blob);
 
366
create table t3_512 (c1 blob, c2 blob);
370
367
 
371
368
insert into t1_512 values
372
369
 (concat('1 - 00', repeat('x', @suffix_len)), concat('2 - 00', repeat('x', @suffix_len)));
446
443
set @blob_len = 1024;
447
444
set @suffix_len = @blob_len - @prefix_len;
448
445
 
449
 
create table t1_1024 (a1 blob(1024), a2 blob(1024));
450
 
create table t2_1024 (b1 blob(1024), b2 blob(1024));
451
 
create table t3_1024 (c1 blob(1024), c2 blob(1024));
 
446
create table t1_1024 (a1 blob, a2 blob);
 
447
create table t2_1024 (b1 blob, b2 blob);
 
448
create table t3_1024 (c1 blob, c2 blob);
452
449
 
453
450
insert into t1_1024 values
454
451
 (concat('1 - 00', repeat('x', @suffix_len)), concat('2 - 00', repeat('x', @suffix_len)));
528
525
set @blob_len = 1025;
529
526
set @suffix_len = @blob_len - @prefix_len;
530
527
 
531
 
create table t1_1025 (a1 blob(1025), a2 blob(1025));
532
 
create table t2_1025 (b1 blob(1025), b2 blob(1025));
533
 
create table t3_1025 (c1 blob(1025), c2 blob(1025));
 
528
create table t1_1025 (a1 blob, a2 blob);
 
529
create table t2_1025 (b1 blob, b2 blob);
 
530
create table t3_1025 (c1 blob, c2 blob);
534
531
 
535
532
insert into t1_1025 values
536
533
 (concat('1 - 00', repeat('x', @suffix_len)), concat('2 - 00', repeat('x', @suffix_len)));
606
603
drop table t1_1025, t2_1025, t3_1025;
607
604
 
608
605
# test for BIT fields
609
 
create table t1bit (a1 bit(3), a2 bit(3));
610
 
create table t2bit (b1 bit(3), b2 bit(3));
611
 
 
612
 
insert into t1bit values (b'000', b'100');
613
 
insert into t1bit values (b'001', b'101');
614
 
insert into t1bit values (b'010', b'110');
615
 
 
616
 
insert into t2bit values (b'001', b'101');
617
 
insert into t2bit values (b'010', b'110');
618
 
insert into t2bit values (b'110', b'111');
619
 
 
620
 
set @@optimizer_switch=no_semijoin;
621
 
 
622
 
explain extended select bin(a1), bin(a2)
623
 
from t1bit
624
 
where (a1, a2) in (select b1, b2 from t2bit);
625
 
 
626
 
select bin(a1), bin(a2)
627
 
from t1bit
628
 
where (a1, a2) in (select b1, b2 from t2bit);
629
 
 
630
 
drop table t1bit, t2bit;
631
 
 
632
 
# test mixture of BIT and BLOB
633
 
create table t1bb (a1 bit(3), a2 blob(3));
634
 
create table t2bb (b1 bit(3), b2 blob(3));
635
 
 
636
 
insert into t1bb values (b'000', '100');
637
 
insert into t1bb values (b'001', '101');
638
 
insert into t1bb values (b'010', '110');
639
 
 
640
 
insert into t2bb values (b'001', '101');
641
 
insert into t2bb values (b'010', '110');
642
 
insert into t2bb values (b'110', '111');
643
 
 
644
 
explain extended select bin(a1), a2
645
 
from t1bb
646
 
where (a1, a2) in (select b1, b2 from t2bb);
647
 
 
648
 
select bin(a1), a2
649
 
from t1bb
650
 
where (a1, a2) in (select b1, b2 from t2bb);
651
 
 
652
 
drop table t1bb, t2bb;
653
 
drop table t1, t2, t3, t1i, t2i, t3i, columns;
 
606
#create table t1bit (a1 bit(3), a2 bit(3));
 
607
#create table t2bit (b1 bit(3), b2 bit(3));
 
608
#
 
609
#insert into t1bit values (b'000', b'100');
 
610
#insert into t1bit values (b'001', b'101');
 
611
#insert into t1bit values (b'010', b'110');
 
612
#
 
613
#insert into t2bit values (b'001', b'101');
 
614
#insert into t2bit values (b'010', b'110');
 
615
#insert into t2bit values (b'110', b'111');
 
616
#
 
617
#set @@optimizer_switch=no_semijoin;
 
618
#
 
619
#explain extended select bin(a1), bin(a2)
 
620
#from t1bit
 
621
#where (a1, a2) in (select b1, b2 from t2bit);
 
622
#
 
623
#select bin(a1), bin(a2)
 
624
#from t1bit
 
625
#where (a1, a2) in (select b1, b2 from t2bit);
 
626
#
 
627
#drop table t1bit, t2bit;
 
628
#
 
629
## test mixture of BIT and BLOB
 
630
#create table t1bb (a1 bit(3), a2 blob(3));
 
631
#create table t2bb (b1 bit(3), b2 blob(3));
 
632
#
 
633
#insert into t1bb values (b'000', '100');
 
634
#insert into t1bb values (b'001', '101');
 
635
#insert into t1bb values (b'010', '110');
 
636
#
 
637
#insert into t2bb values (b'001', '101');
 
638
#insert into t2bb values (b'010', '110');
 
639
#insert into t2bb values (b'110', '111');
 
640
#
 
641
#explain extended select bin(a1), a2
 
642
#from t1bb
 
643
#where (a1, a2) in (select b1, b2 from t2bb);
 
644
#
 
645
#select bin(a1), a2
 
646
#from t1bb
 
647
#where (a1, a2) in (select b1, b2 from t2bb);
 
648
#
 
649
#drop table t1bb, t2bb;
 
650
#drop table t1, t2, t3, t1i, t2i, t3i, columns;
 
651
drop table t1, t2, t3;
654
652
 
655
653
/******************************************************************************
656
654
* Test the cache of the left operand of IN.