diff options
author | tomas@poseidon.(none) <> | 2004-08-24 22:35:14 +0000 |
---|---|---|
committer | tomas@poseidon.(none) <> | 2004-08-24 22:35:14 +0000 |
commit | c16f134be36ae0c3620b836c801a4c51411711ad (patch) | |
tree | 0138fe722f01dc674c37ea0e9b7f181bcd863f82 /mysql-test | |
parent | 7a3d0c83fa1cfd22bd3e325c806bee0dc211543c (diff) | |
parent | 0f8dc7061039d86bce80efc0a6870a5bb32d9f2d (diff) | |
download | mariadb-git-c16f134be36ae0c3620b836c801a4c51411711ad.tar.gz |
Merge
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/mysql-test-run.sh | 6 | ||||
-rw-r--r-- | mysql-test/ndb/ndb_config_2_node.ini | 38 | ||||
-rw-r--r-- | mysql-test/r/ctype_utf8.result | 70 | ||||
-rw-r--r-- | mysql-test/r/func_set.result | 12 | ||||
-rw-r--r-- | mysql-test/r/ndb_basic.result | 1005 | ||||
-rw-r--r-- | mysql-test/r/ps.result | 15 | ||||
-rw-r--r-- | mysql-test/r/truncate.result | 21 | ||||
-rw-r--r-- | mysql-test/r/variables.result | 16 | ||||
-rw-r--r-- | mysql-test/t/ctype_utf8.test | 64 | ||||
-rw-r--r-- | mysql-test/t/func_set.test | 12 | ||||
-rw-r--r-- | mysql-test/t/ndb_basic.test | 4 | ||||
-rw-r--r-- | mysql-test/t/ps.test | 24 | ||||
-rw-r--r-- | mysql-test/t/truncate.test | 16 | ||||
-rw-r--r-- | mysql-test/t/variables.test | 11 |
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'; + |