summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authortomas@poseidon.(none) <>2004-08-24 22:35:14 +0000
committertomas@poseidon.(none) <>2004-08-24 22:35:14 +0000
commitc16f134be36ae0c3620b836c801a4c51411711ad (patch)
tree0138fe722f01dc674c37ea0e9b7f181bcd863f82 /mysql-test
parent7a3d0c83fa1cfd22bd3e325c806bee0dc211543c (diff)
parent0f8dc7061039d86bce80efc0a6870a5bb32d9f2d (diff)
downloadmariadb-git-c16f134be36ae0c3620b836c801a4c51411711ad.tar.gz
Merge
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/mysql-test-run.sh6
-rw-r--r--mysql-test/ndb/ndb_config_2_node.ini38
-rw-r--r--mysql-test/r/ctype_utf8.result70
-rw-r--r--mysql-test/r/func_set.result12
-rw-r--r--mysql-test/r/ndb_basic.result1005
-rw-r--r--mysql-test/r/ps.result15
-rw-r--r--mysql-test/r/truncate.result21
-rw-r--r--mysql-test/r/variables.result16
-rw-r--r--mysql-test/t/ctype_utf8.test64
-rw-r--r--mysql-test/t/func_set.test12
-rw-r--r--mysql-test/t/ndb_basic.test4
-rw-r--r--mysql-test/t/ps.test24
-rw-r--r--mysql-test/t/truncate.test16
-rw-r--r--mysql-test/t/variables.test11
14 files changed, 1287 insertions, 27 deletions
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh
index 58d7af75284..454dc7b327b 100644
--- a/mysql-test/mysql-test-run.sh
+++ b/mysql-test/mysql-test-run.sh
@@ -367,10 +367,12 @@ while test $# -gt 0; do
VALGRIND=`which valgrind` # this will print an error if not found
# Give good warning to the user and stop
if [ -z "$VALGRIND" ] ; then
- $ECHO "You need to have the 'valgrind' program in your PATH to run mysql-test-run with option --valgrind. Valgrind's home page is http://developer.kde.org/~sewardj ."
+ $ECHO "You need to have the 'valgrind' program in your PATH to run mysql-test-run with option --valgrind. Valgrind's home page is http://valgrind.kde.org ."
exit 1
fi
- VALGRIND="$VALGRIND --tool=memcheck --alignment=8 --leak-check=yes --num-callers=16"
+ # >=2.1.2 requires the --tool option, some versions write to stdout, some to stderr
+ valgrind --help 2>&1 | grep "\-\-tool" > /dev/null && VALGRIND="$VALGRIND --tool=memcheck"
+ VALGRIND="$VALGRIND --alignment=8 --leak-check=yes --num-callers=16"
EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT --skip-safemalloc --skip-bdb"
EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-safemalloc --skip-bdb"
SLEEP_TIME_AFTER_RESTART=10
diff --git a/mysql-test/ndb/ndb_config_2_node.ini b/mysql-test/ndb/ndb_config_2_node.ini
index 03a94bf5a94..a395b300df4 100644
--- a/mysql-test/ndb/ndb_config_2_node.ini
+++ b/mysql-test/ndb/ndb_config_2_node.ini
@@ -1,28 +1,28 @@
-[DB DEFAULT]
-NoOfReplicas: 2
-MaxNoOfConcurrentOperations: CHOOSE_MaxNoOfConcurrentOperations
-DataMemory: CHOOSE_DataMemory
-IndexMemory: CHOOSE_IndexMemory
-Diskless: CHOOSE_Diskless
-TimeBetweenWatchDogCheck: 30000
-FileSystemPath: CHOOSE_FILESYSTEM
-
-[DB]
+[ndbd default]
+NoOfReplicas= 2
+MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations
+DataMemory= CHOOSE_DataMemory
+IndexMemory= CHOOSE_IndexMemory
+Diskless= CHOOSE_Diskless
+TimeBetweenWatchDogCheck= 30000
+FileSystemPath= CHOOSE_FILESYSTEM
+
+[ndbd]
HostName: CHOOSE_HOSTNAME_1
-[DB]
+[ndbd]
HostName: CHOOSE_HOSTNAME_2
-[MGM]
-PortNumber: CHOOSE_PORT_MGM
+[ndb_mgmd]
+PortNumber= CHOOSE_PORT_MGM
-[API]
+[mysqld]
-[API]
+[mysqld]
-[API]
+[mysqld]
-[API]
+[mysqld]
-[TCP DEFAULT]
-PortNumber: CHOOSE_PORT_TRANSPORTER
+[tcp default]
+PortNumber= CHOOSE_PORT_TRANSPORTER
diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
index ef5ec012078..38fc8e17d14 100644
--- a/mysql-test/r/ctype_utf8.result
+++ b/mysql-test/r/ctype_utf8.result
@@ -412,6 +412,36 @@ select c as c_a from t1 where c='б';
c_a
б
drop table t1;
+create table t1 (
+c char(10) character set utf8,
+unique key a (c(1))
+) engine=bdb;
+insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
+insert into t1 values ('aa');
+ERROR 23000: Duplicate entry 'aa' for key 1
+insert into t1 values ('aaa');
+ERROR 23000: Duplicate entry 'aaa' for key 1
+insert into t1 values ('б');
+insert into t1 values ('бб');
+ERROR 23000: Duplicate entry 'бÐ' for key 1
+insert into t1 values ('ббб');
+ERROR 23000: Duplicate entry 'бÐ' for key 1
+select c as c_all from t1 order by c;
+c_all
+a
+b
+c
+d
+e
+f
+б
+select c as c_a from t1 where c='a';
+c_a
+a
+select c as c_a from t1 where c='б';
+c_a
+б
+drop table t1;
create table t1 (c varchar(30) character set utf8 collate utf8_bin, unique(c(10)));
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
insert into t1 values ('aaaaaaaaaa');
@@ -541,6 +571,36 @@ c_a
б
drop table t1;
create table t1 (
+c char(10) character set utf8 collate utf8_bin,
+unique key a (c(1))
+) engine=bdb;
+insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
+insert into t1 values ('aa');
+ERROR 23000: Duplicate entry 'aa' for key 1
+insert into t1 values ('aaa');
+ERROR 23000: Duplicate entry 'aaa' for key 1
+insert into t1 values ('б');
+insert into t1 values ('бб');
+ERROR 23000: Duplicate entry 'бÐ' for key 1
+insert into t1 values ('ббб');
+ERROR 23000: Duplicate entry 'бÐ' for key 1
+select c as c_all from t1 order by c;
+c_all
+a
+b
+c
+d
+e
+f
+б
+select c as c_a from t1 where c='a';
+c_a
+a
+select c as c_a from t1 where c='б';
+c_a
+б
+drop table t1;
+create table t1 (
str varchar(255) character set utf8 not null,
key str (str(2))
) engine=myisam;
@@ -570,3 +630,13 @@ select * from t1 where str='str';
str
str
drop table t1;
+create table t1 (
+str varchar(255) character set utf8 not null,
+key str (str(2))
+) engine=bdb;
+INSERT INTO t1 VALUES ('str');
+INSERT INTO t1 VALUES ('str2');
+select * from t1 where str='str';
+str
+str
+drop table t1;
diff --git a/mysql-test/r/func_set.result b/mysql-test/r/func_set.result
index 4918617f85f..2431406c128 100644
--- a/mysql-test/r/func_set.result
+++ b/mysql-test/r/func_set.result
@@ -41,8 +41,7 @@ interval(null, 1, 10, 100)
-1
drop table if exists t1,t2;
create table t1 (id int(10) not null unique);
-create table t2 (id int(10) not null primary key,
-val int(10) not null);
+create table t2 (id int(10) not null primary key, val int(10) not null);
insert into t1 values (1),(2),(4);
insert into t2 values (1,1),(2,1),(3,1),(4,2);
select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id;
@@ -56,3 +55,12 @@ id elt(two.val,'one','two')
2 one
4 two
drop table t1,t2;
+select find_in_set(binary 'a',binary 'A,B,C');
+find_in_set(binary 'a',binary 'A,B,C')
+0
+select find_in_set('a',binary 'A,B,C');
+find_in_set('a',binary 'A,B,C')
+0
+select find_in_set(binary 'a', 'A,B,C');
+find_in_set(binary 'a', 'A,B,C')
+0
diff --git a/mysql-test/r/ndb_basic.result b/mysql-test/r/ndb_basic.result
index f2727c91628..e42485a1548 100644
--- a/mysql-test/r/ndb_basic.result
+++ b/mysql-test/r/ndb_basic.result
@@ -234,6 +234,1011 @@ select * from t4 where a = 7 and b = 17 order by a;
a b c d
select * from t4 where a = 7 and b != 16 order by b;
a b c d
+select x1.a, x1.b from t2 x1, t2 x2 where x1.b = x2.b order by x1.a;
+a b
+1 10
+3 12
+5 14
+7 16
+9 18
+11 20
+13 22
+15 24
+17 26
+19 28
+21 30
+23 32
+25 34
+27 36
+29 38
+31 40
+33 42
+35 44
+37 46
+39 48
+41 50
+43 52
+45 54
+47 56
+49 58
+51 60
+53 62
+55 64
+57 66
+59 68
+61 70
+63 72
+65 74
+67 76
+69 78
+71 80
+73 82
+75 84
+77 86
+79 88
+81 90
+83 92
+85 94
+87 96
+89 98
+91 100
+93 102
+95 104
+97 106
+99 108
+101 110
+103 112
+105 114
+107 116
+109 118
+111 120
+113 122
+115 124
+117 126
+119 128
+121 130
+123 132
+125 134
+127 136
+129 138
+131 140
+133 142
+135 144
+137 146
+139 148
+141 150
+143 152
+145 154
+147 156
+149 158
+151 160
+153 162
+155 164
+157 166
+159 168
+161 170
+163 172
+165 174
+167 176
+169 178
+171 180
+173 182
+175 184
+177 186
+179 188
+181 190
+183 192
+185 194
+187 196
+189 198
+191 200
+193 202
+195 204
+197 206
+199 208
+201 210
+203 212
+205 214
+207 216
+209 218
+211 220
+213 222
+215 224
+217 226
+219 228
+221 230
+223 232
+225 234
+227 236
+229 238
+231 240
+233 242
+235 244
+237 246
+239 248
+241 250
+243 252
+245 254
+247 256
+249 258
+251 260
+253 262
+255 264
+257 266
+259 268
+261 270
+263 272
+265 274
+267 276
+269 278
+271 280
+273 282
+275 284
+277 286
+279 288
+281 290
+283 292
+285 294
+287 296
+289 298
+291 300
+293 302
+295 304
+297 306
+299 308
+301 310
+303 312
+305 314
+307 316
+309 318
+311 320
+313 322
+315 324
+317 326
+319 328
+321 330
+323 332
+325 334
+327 336
+329 338
+331 340
+333 342
+335 344
+337 346
+339 348
+341 350
+343 352
+345 354
+347 356
+349 358
+351 360
+353 362
+355 364
+357 366
+359 368
+361 370
+363 372
+365 374
+367 376
+369 378
+371 380
+373 382
+375 384
+377 386
+379 388
+381 390
+383 392
+385 394
+387 396
+389 398
+391 400
+393 402
+395 404
+397 406
+399 408
+401 410
+403 412
+405 414
+407 416
+409 418
+411 420
+413 422
+415 424
+417 426
+419 428
+421 430
+423 432
+425 434
+427 436
+429 438
+431 440
+433 442
+435 444
+437 446
+439 448
+441 450
+443 452
+445 454
+447 456
+449 458
+451 460
+453 462
+455 464
+457 466
+459 468
+461 470
+463 472
+465 474
+467 476
+469 478
+471 480
+473 482
+475 484
+477 486
+479 488
+481 490
+483 492
+485 494
+487 496
+489 498
+491 500
+493 502
+495 504
+497 506
+499 508
+501 510
+503 512
+505 514
+507 516
+509 518
+511 520
+513 522
+515 524
+517 526
+519 528
+521 530
+523 532
+525 534
+527 536
+529 538
+531 540
+533 542
+535 544
+537 546
+539 548
+541 550
+543 552
+545 554
+547 556
+549 558
+551 560
+553 562
+555 564
+557 566
+559 568
+561 570
+563 572
+565 574
+567 576
+569 578
+571 580
+573 582
+575 584
+577 586
+579 588
+581 590
+583 592
+585 594
+587 596
+589 598
+591 600
+593 602
+595 604
+597 606
+599 608
+601 610
+603 612
+605 614
+607 616
+609 618
+611 620
+613 622
+615 624
+617 626
+619 628
+621 630
+623 632
+625 634
+627 636
+629 638
+631 640
+633 642
+635 644
+637 646
+639 648
+641 650
+643 652
+645 654
+647 656
+649 658
+651 660
+653 662
+655 664
+657 666
+659 668
+661 670
+663 672
+665 674
+667 676
+669 678
+671 680
+673 682
+675 684
+677 686
+679 688
+681 690
+683 692
+685 694
+687 696
+689 698
+691 700
+693 702
+695 704
+697 706
+699 708
+701 710
+703 712
+705 714
+707 716
+709 718
+711 720
+713 722
+715 724
+717 726
+719 728
+721 730
+723 732
+725 734
+727 736
+729 738
+731 740
+733 742
+735 744
+737 746
+739 748
+741 750
+743 752
+745 754
+747 756
+749 758
+751 760
+753 762
+755 764
+757 766
+759 768
+761 770
+763 772
+765 774
+767 776
+769 778
+771 780
+773 782
+775 784
+777 786
+779 788
+781 790
+783 792
+785 794
+787 796
+789 798
+791 800
+793 802
+795 804
+797 806
+799 808
+801 810
+803 812
+805 814
+807 816
+809 818
+811 820
+813 822
+815 824
+817 826
+819 828
+821 830
+823 832
+825 834
+827 836
+829 838
+831 840
+833 842
+835 844
+837 846
+839 848
+841 850
+843 852
+845 854
+847 856
+849 858
+851 860
+853 862
+855 864
+857 866
+859 868
+861 870
+863 872
+865 874
+867 876
+869 878
+871 880
+873 882
+875 884
+877 886
+879 888
+881 890
+883 892
+885 894
+887 896
+889 898
+891 900
+893 902
+895 904
+897 906
+899 908
+901 910
+903 912
+905 914
+907 916
+909 918
+911 920
+913 922
+915 924
+917 926
+919 928
+921 930
+923 932
+925 934
+927 936
+929 938
+931 940
+933 942
+935 944
+937 946
+939 948
+941 950
+943 952
+945 954
+947 956
+949 958
+951 960
+953 962
+955 964
+957 966
+959 968
+961 970
+963 972
+965 974
+967 976
+969 978
+971 980
+973 982
+975 984
+977 986
+979 988
+981 990
+983 992
+985 994
+987 996
+989 998
+991 1000
+993 1002
+995 1004
+997 1006
+999 1008
+select a, b FROM t2 outer_table where
+a = (select a from t2 where b = outer_table.b ) order by a;
+a b
+1 10
+3 12
+5 14
+7 16
+9 18
+11 20
+13 22
+15 24
+17 26
+19 28
+21 30
+23 32
+25 34
+27 36
+29 38
+31 40
+33 42
+35 44
+37 46
+39 48
+41 50
+43 52
+45 54
+47 56
+49 58
+51 60
+53 62
+55 64
+57 66
+59 68
+61 70
+63 72
+65 74
+67 76
+69 78
+71 80
+73 82
+75 84
+77 86
+79 88
+81 90
+83 92
+85 94
+87 96
+89 98
+91 100
+93 102
+95 104
+97 106
+99 108
+101 110
+103 112
+105 114
+107 116
+109 118
+111 120
+113 122
+115 124
+117 126
+119 128
+121 130
+123 132
+125 134
+127 136
+129 138
+131 140
+133 142
+135 144
+137 146
+139 148
+141 150
+143 152
+145 154
+147 156
+149 158
+151 160
+153 162
+155 164
+157 166
+159 168
+161 170
+163 172
+165 174
+167 176
+169 178
+171 180
+173 182
+175 184
+177 186
+179 188
+181 190
+183 192
+185 194
+187 196
+189 198
+191 200
+193 202
+195 204
+197 206
+199 208
+201 210
+203 212
+205 214
+207 216
+209 218
+211 220
+213 222
+215 224
+217 226
+219 228
+221 230
+223 232
+225 234
+227 236
+229 238
+231 240
+233 242
+235 244
+237 246
+239 248
+241 250
+243 252
+245 254
+247 256
+249 258
+251 260
+253 262
+255 264
+257 266
+259 268
+261 270
+263 272
+265 274
+267 276
+269 278
+271 280
+273 282
+275 284
+277 286
+279 288
+281 290
+283 292
+285 294
+287 296
+289 298
+291 300
+293 302
+295 304
+297 306
+299 308
+301 310
+303 312
+305 314
+307 316
+309 318
+311 320
+313 322
+315 324
+317 326
+319 328
+321 330
+323 332
+325 334
+327 336
+329 338
+331 340
+333 342
+335 344
+337 346
+339 348
+341 350
+343 352
+345 354
+347 356
+349 358
+351 360
+353 362
+355 364
+357 366
+359 368
+361 370
+363 372
+365 374
+367 376
+369 378
+371 380
+373 382
+375 384
+377 386
+379 388
+381 390
+383 392
+385 394
+387 396
+389 398
+391 400
+393 402
+395 404
+397 406
+399 408
+401 410
+403 412
+405 414
+407 416
+409 418
+411 420
+413 422
+415 424
+417 426
+419 428
+421 430
+423 432
+425 434
+427 436
+429 438
+431 440
+433 442
+435 444
+437 446
+439 448
+441 450
+443 452
+445 454
+447 456
+449 458
+451 460
+453 462
+455 464
+457 466
+459 468
+461 470
+463 472
+465 474
+467 476
+469 478
+471 480
+473 482
+475 484
+477 486
+479 488
+481 490
+483 492
+485 494
+487 496
+489 498
+491 500
+493 502
+495 504
+497 506
+499 508
+501 510
+503 512
+505 514
+507 516
+509 518
+511 520
+513 522
+515 524
+517 526
+519 528
+521 530
+523 532
+525 534
+527 536
+529 538
+531 540
+533 542
+535 544
+537 546
+539 548
+541 550
+543 552
+545 554
+547 556
+549 558
+551 560
+553 562
+555 564
+557 566
+559 568
+561 570
+563 572
+565 574
+567 576
+569 578
+571 580
+573 582
+575 584
+577 586
+579 588
+581 590
+583 592
+585 594
+587 596
+589 598
+591 600
+593 602
+595 604
+597 606
+599 608
+601 610
+603 612
+605 614
+607 616
+609 618
+611 620
+613 622
+615 624
+617 626
+619 628
+621 630
+623 632
+625 634
+627 636
+629 638
+631 640
+633 642
+635 644
+637 646
+639 648
+641 650
+643 652
+645 654
+647 656
+649 658
+651 660
+653 662
+655 664
+657 666
+659 668
+661 670
+663 672
+665 674
+667 676
+669 678
+671 680
+673 682
+675 684
+677 686
+679 688
+681 690
+683 692
+685 694
+687 696
+689 698
+691 700
+693 702
+695 704
+697 706
+699 708
+701 710
+703 712
+705 714
+707 716
+709 718
+711 720
+713 722
+715 724
+717 726
+719 728
+721 730
+723 732
+725 734
+727 736
+729 738
+731 740
+733 742
+735 744
+737 746
+739 748
+741 750
+743 752
+745 754
+747 756
+749 758
+751 760
+753 762
+755 764
+757 766
+759 768
+761 770
+763 772
+765 774
+767 776
+769 778
+771 780
+773 782
+775 784
+777 786
+779 788
+781 790
+783 792
+785 794
+787 796
+789 798
+791 800
+793 802
+795 804
+797 806
+799 808
+801 810
+803 812
+805 814
+807 816
+809 818
+811 820
+813 822
+815 824
+817 826
+819 828
+821 830
+823 832
+825 834
+827 836
+829 838
+831 840
+833 842
+835 844
+837 846
+839 848
+841 850
+843 852
+845 854
+847 856
+849 858
+851 860
+853 862
+855 864
+857 866
+859 868
+861 870
+863 872
+865 874
+867 876
+869 878
+871 880
+873 882
+875 884
+877 886
+879 888
+881 890
+883 892
+885 894
+887 896
+889 898
+891 900
+893 902
+895 904
+897 906
+899 908
+901 910
+903 912
+905 914
+907 916
+909 918
+911 920
+913 922
+915 924
+917 926
+919 928
+921 930
+923 932
+925 934
+927 936
+929 938
+931 940
+933 942
+935 944
+937 946
+939 948
+941 950
+943 952
+945 954
+947 956
+949 958
+951 960
+953 962
+955 964
+957 966
+959 968
+961 970
+963 972
+965 974
+967 976
+969 978
+971 980
+973 982
+975 984
+977 986
+979 988
+981 990
+983 992
+985 994
+987 996
+989 998
+991 1000
+993 1002
+995 1004
+997 1006
+999 1008
delete from t2;
delete from t3;
delete from t4;
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result
index 0523143f91d..98095930669 100644
--- a/mysql-test/r/ps.result
+++ b/mysql-test/r/ps.result
@@ -226,3 +226,18 @@ a b
execute stmt1;
a b
deallocate prepare stmt1;
+drop table t1;
+prepare stmt1 from "select 1 into @var";
+execute stmt1;
+execute stmt1;
+prepare stmt1 from "create table t1 select 1 as i";
+execute stmt1;
+drop table t1;
+execute stmt1;
+prepare stmt1 from "insert into t1 select i from t1";
+execute stmt1;
+execute stmt1;
+prepare stmt1 from "select * from t1 into outfile 'f1.txt'";
+execute stmt1;
+deallocate prepare stmt1;
+drop table t1;
diff --git a/mysql-test/r/truncate.result b/mysql-test/r/truncate.result
index d777bd184b2..74a6cb72cc6 100644
--- a/mysql-test/r/truncate.result
+++ b/mysql-test/r/truncate.result
@@ -31,4 +31,25 @@ SELECT * from t1;
a
1
2
+delete from t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
+a
+3
+4
+drop table t1;
+create temporary table t1 (a integer auto_increment primary key);
+insert into t1 (a) values (NULL),(NULL);
+truncate table t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
+a
+1
+2
+delete from t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
+a
+3
+4
drop table t1;
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index 41ea95cf933..5d3f32cdd55 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -436,3 +436,19 @@ SELECT @@global.session.key_buffer_size;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size' at line 1
SELECT @@global.local.key_buffer_size;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size' at line 1
+set @tstlw = @@log_warnings;
+show global variables like 'log_warnings';
+Variable_name Value
+log_warnings 1
+set global log_warnings = 0;
+show global variables like 'log_warnings';
+Variable_name Value
+log_warnings 0
+set global log_warnings = 42;
+show global variables like 'log_warnings';
+Variable_name Value
+log_warnings 42
+set global log_warnings = @tstlw;
+show global variables like 'log_warnings';
+Variable_name Value
+log_warnings 1
diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test
index 83055d05830..4624f2ec78c 100644
--- a/mysql-test/t/ctype_utf8.test
+++ b/mysql-test/t/ctype_utf8.test
@@ -294,6 +294,30 @@ select c as c_a from t1 where c='a';
select c as c_a from t1 where c='б';
drop table t1;
+#
+# Bug 4531: unique key prefix interacts poorly with utf8
+# Check BDB, case insensitive collation
+#
+--disable_warnings
+create table t1 (
+c char(10) character set utf8,
+unique key a (c(1))
+) engine=bdb;
+--enable_warnings
+insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
+--error 1062
+insert into t1 values ('aa');
+--error 1062
+insert into t1 values ('aaa');
+insert into t1 values ('б');
+--error 1062
+insert into t1 values ('бб');
+--error 1062
+insert into t1 values ('ббб');
+select c as c_all from t1 order by c;
+select c as c_a from t1 where c='a';
+select c as c_a from t1 where c='б';
+drop table t1;
#
# Bug 4521: unique key prefix interacts poorly with utf8
@@ -393,6 +417,31 @@ select c as c_a from t1 where c='a';
select c as c_a from t1 where c='б';
drop table t1;
+#
+# Bug 4531: unique key prefix interacts poorly with utf8
+# Check BDB, binary collation
+#
+--disable_warnings
+create table t1 (
+c char(10) character set utf8 collate utf8_bin,
+unique key a (c(1))
+) engine=bdb;
+--enable_warnings
+insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
+--error 1062
+insert into t1 values ('aa');
+--error 1062
+insert into t1 values ('aaa');
+insert into t1 values ('б');
+--error 1062
+insert into t1 values ('бб');
+--error 1062
+insert into t1 values ('ббб');
+select c as c_all from t1 order by c;
+select c as c_a from t1 where c='a';
+select c as c_a from t1 where c='б';
+drop table t1;
+
# Bug#4594: column index make = failed for gbk, but like works
# Check MYISAM
@@ -429,3 +478,18 @@ INSERT INTO t1 VALUES ('str');
INSERT INTO t1 VALUES ('str2');
select * from t1 where str='str';
drop table t1;
+
+# the same for BDB
+#
+
+--disable_warnings
+create table t1 (
+ str varchar(255) character set utf8 not null,
+ key str (str(2))
+) engine=bdb;
+--enable_warnings
+INSERT INTO t1 VALUES ('str');
+INSERT INTO t1 VALUES ('str2');
+select * from t1 where str='str';
+drop table t1;
+
diff --git a/mysql-test/t/func_set.test b/mysql-test/t/func_set.test
index 03843fd3da5..d669739bcb4 100644
--- a/mysql-test/t/func_set.test
+++ b/mysql-test/t/func_set.test
@@ -31,11 +31,19 @@ drop table if exists t1,t2;
--enable_warnings
create table t1 (id int(10) not null unique);
-create table t2 (id int(10) not null primary key,
-val int(10) not null);
+create table t2 (id int(10) not null primary key, val int(10) not null);
insert into t1 values (1),(2),(4);
insert into t2 values (1,1),(2,1),(3,1),(4,2);
select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id;
select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id order by one.id;
drop table t1,t2;
+
+#
+# Bug4340: find_in_set is case insensitive even on binary operators
+#
+
+select find_in_set(binary 'a',binary 'A,B,C');
+select find_in_set('a',binary 'A,B,C');
+select find_in_set(binary 'a', 'A,B,C');
+
diff --git a/mysql-test/t/ndb_basic.test b/mysql-test/t/ndb_basic.test
index ea2a70e1837..a24891ab814 100644
--- a/mysql-test/t/ndb_basic.test
+++ b/mysql-test/t/ndb_basic.test
@@ -206,6 +206,10 @@ select * from t4 where a = 7 and b = 16 order by a;
select * from t4 where a = 7 and b = 17 order by a;
select * from t4 where a = 7 and b != 16 order by b;
+select x1.a, x1.b from t2 x1, t2 x2 where x1.b = x2.b order by x1.a;
+select a, b FROM t2 outer_table where
+a = (select a from t2 where b = outer_table.b ) order by a;
+
#
# update records
#
diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test
index 9d23c795e05..8b9704f2a06 100644
--- a/mysql-test/t/ps.test
+++ b/mysql-test/t/ps.test
@@ -209,7 +209,7 @@ drop table t1;
#
# Bug#4912 "mysqld crashs in case a statement is executed a second time":
-# negation elimination should and prepared statemens
+# negation elimination should work once and not break prepared statements
#
create table t1(a varchar(2), b varchar(3));
@@ -217,4 +217,26 @@ prepare stmt1 from "select a, b from t1 where (not (a='aa' and b < 'zzz'))";
execute stmt1;
execute stmt1;
deallocate prepare stmt1;
+drop table t1;
+
+#
+# Bug#5034 "prepared "select 1 into @arg15", second execute crashes
+# server".
+# Check that descendands of select_result can be reused in prepared
+# statements or are correctly created and deleted on each execute
+#
+prepare stmt1 from "select 1 into @var";
+execute stmt1;
+execute stmt1;
+prepare stmt1 from "create table t1 select 1 as i";
+execute stmt1;
+drop table t1;
+execute stmt1;
+prepare stmt1 from "insert into t1 select i from t1";
+execute stmt1;
+execute stmt1;
+prepare stmt1 from "select * from t1 into outfile 'f1.txt'";
+execute stmt1;
+deallocate prepare stmt1;
+drop table t1;
diff --git a/mysql-test/t/truncate.test b/mysql-test/t/truncate.test
index 434a1907e42..b7ec506ecf1 100644
--- a/mysql-test/t/truncate.test
+++ b/mysql-test/t/truncate.test
@@ -26,7 +26,7 @@ drop table t1;
truncate non_existing_table;
#
-# test autoincrement with TRUNCATE
+# test autoincrement with TRUNCATE; verifying difference with DELETE
#
create table t1 (a integer auto_increment primary key);
@@ -34,5 +34,19 @@ insert into t1 (a) values (NULL),(NULL);
truncate table t1;
insert into t1 (a) values (NULL),(NULL);
SELECT * from t1;
+delete from t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
drop table t1;
+# Verifying that temp tables are handled the same way
+
+create temporary table t1 (a integer auto_increment primary key);
+insert into t1 (a) values (NULL),(NULL);
+truncate table t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
+delete from t1;
+insert into t1 (a) values (NULL),(NULL);
+SELECT * from t1;
+drop table t1;
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index 60ebeb045f5..a480ecb570a 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -324,3 +324,14 @@ SELECT @@global.global.key_buffer_size;
SELECT @@global.session.key_buffer_size;
--error 1064
SELECT @@global.local.key_buffer_size;
+
+# BUG#5135: cannot turn on log_warnings with SET in 4.1 (and 4.0)
+set @tstlw = @@log_warnings;
+show global variables like 'log_warnings';
+set global log_warnings = 0;
+show global variables like 'log_warnings';
+set global log_warnings = 42;
+show global variables like 'log_warnings';
+set global log_warnings = @tstlw;
+show global variables like 'log_warnings';
+