mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge mysql-5.1-bugteam -> mysql-5.1-innodb
This commit is contained in:
@ -302,5 +302,58 @@ BINLOG '
|
||||
SHOW BINLOG EVENTS;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo
|
||||
--echo # BUG#54903 BINLOG statement toggles session variables
|
||||
--echo # ----------------------------------------------------------------------
|
||||
--echo # This test verify that BINLOG statement doesn't change current session's
|
||||
--echo # variables foreign_key_checks and unique_checks.
|
||||
--echo
|
||||
CREATE TABLE t1 (c1 INT KEY);
|
||||
|
||||
SET @@SESSION.foreign_key_checks= ON;
|
||||
SET @@SESSION.unique_checks= ON;
|
||||
|
||||
--echo # INSERT INTO t1 VALUES (1)
|
||||
--echo # foreign_key_checks=0 and unique_checks=0
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
|
||||
';
|
||||
|
||||
SELECT * FROM t1;
|
||||
--echo # Their values should be ON
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
|
||||
--echo
|
||||
SET @@SESSION.foreign_key_checks= OFF;
|
||||
SET @@SESSION.unique_checks= OFF;
|
||||
|
||||
--echo # INSERT INTO t1 VALUES(2)
|
||||
--echo # foreign_key_checks=1 and unique_checks=1
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
|
||||
SELECT * FROM t1;
|
||||
--echo # Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
|
||||
--echo # INSERT INTO t1 VALUES(2)
|
||||
--echo # foreign_key_checks=1 and unique_checks=1
|
||||
--echo # It should not change current session's variables, even error happens
|
||||
--error 1062
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
|
||||
SELECT * FROM t1;
|
||||
--echo # Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
disconnect fresh;
|
||||
|
||||
|
@ -53,9 +53,7 @@ source include/wait_for_slave_to_start.inc;
|
||||
connection master;
|
||||
# Write file to make mysql-test-run.pl expect the "crash", but don't start
|
||||
# it until it's told to
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Send shutdown to the connected server and give
|
||||
# it 10 seconds to die before zapping it
|
||||
@ -85,9 +83,7 @@ source include/wait_for_slave_io_error.inc;
|
||||
eval set @@global.debug = "-d,$dbug_sync_point";
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
connection master;
|
||||
# Turn on reconnect
|
||||
|
46
mysql-test/include/ctype_8bit.inc
Normal file
46
mysql-test/include/ctype_8bit.inc
Normal file
@ -0,0 +1,46 @@
|
||||
#
|
||||
# Test Unicode conversion, upper, lower
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
CREATE TABLE t1 AS SELECT ' ' AS a LIMIT 0;
|
||||
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
|
||||
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
|
||||
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
|
||||
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
|
||||
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
|
||||
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
|
||||
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
|
||||
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
|
||||
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
|
||||
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
|
||||
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
|
||||
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
|
||||
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
|
||||
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
|
||||
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
|
||||
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
|
||||
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
|
||||
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
|
||||
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
|
||||
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
|
||||
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
|
||||
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
|
||||
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
|
||||
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
|
||||
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
|
||||
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
|
||||
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
|
||||
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
|
||||
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
|
||||
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
|
||||
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
|
||||
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
|
||||
SELECT
|
||||
HEX(a) AS chr,
|
||||
HEX(LOWER(a)) AS upper,
|
||||
HEX(LOWER(a)) AS lower,
|
||||
HEX(@utf8:=CONVERT(a USING utf8)) AS utf8,
|
||||
HEX(@roundtrip:=CAST(@utf8 AS CHAR)) AS roundtrip,
|
||||
if(a=BINARY @roundtrip,'','Round trip unsafe') AS issafe
|
||||
FROM t1 ORDER BY chr;
|
||||
DROP TABLE t1;
|
@ -1,18 +1,14 @@
|
||||
|
||||
# Write file to make mysql-test-run.pl expect the "crash", but don't start
|
||||
# it until it's told to
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Send shutdown to the connected server and give
|
||||
# it 10 seconds to die before zapping it
|
||||
shutdown_server 10;
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Turn on reconnect
|
||||
--enable_reconnect
|
||||
|
@ -143,7 +143,7 @@ sub collect_test_cases ($$$) {
|
||||
{
|
||||
last unless $opt_reorder;
|
||||
# test->{name} is always in suite.name format
|
||||
if ( $test->{name} =~ /.*\.$tname/ )
|
||||
if ( $test->{name} =~ /^$sname.*\.$tname$/ )
|
||||
{
|
||||
$found= 1;
|
||||
last;
|
||||
|
@ -569,7 +569,10 @@ sub run_test_server ($$$) {
|
||||
if ( !$opt_force ) {
|
||||
# Test has failed, force is off
|
||||
push(@$completed, $result);
|
||||
return $completed;
|
||||
return $completed unless $result->{'dont_kill_server'};
|
||||
# Prevent kill of server, to get valgrind report
|
||||
print $sock "BYE\n";
|
||||
next;
|
||||
}
|
||||
elsif ($opt_max_test_fail > 0 and
|
||||
$num_failed_test >= $opt_max_test_fail) {
|
||||
@ -809,13 +812,14 @@ sub run_worker ($) {
|
||||
elsif ($line eq 'BYE'){
|
||||
mtr_report("Server said BYE");
|
||||
stop_all_servers($opt_shutdown_timeout);
|
||||
my $valgrind_reports= 0;
|
||||
if ($opt_valgrind_mysqld) {
|
||||
valgrind_exit_reports();
|
||||
$valgrind_reports= valgrind_exit_reports();
|
||||
}
|
||||
if ( $opt_gprof ) {
|
||||
gprof_collect (find_mysqld($basedir), keys %gprof_dirs);
|
||||
}
|
||||
exit(0);
|
||||
exit($valgrind_reports);
|
||||
}
|
||||
else {
|
||||
mtr_error("Could not understand server, '$line'");
|
||||
@ -3680,7 +3684,6 @@ sub run_testcase ($) {
|
||||
# ----------------------------------------------------
|
||||
# Check if it was an expected crash
|
||||
# ----------------------------------------------------
|
||||
SRVDIED:
|
||||
my $check_crash = check_expected_crash_and_restart($proc);
|
||||
if ($check_crash)
|
||||
{
|
||||
@ -3690,6 +3693,7 @@ sub run_testcase ($) {
|
||||
next;
|
||||
}
|
||||
|
||||
SRVDIED:
|
||||
# ----------------------------------------------------
|
||||
# Stop the test case timer
|
||||
# ----------------------------------------------------
|
||||
@ -4239,7 +4243,12 @@ sub after_failure ($) {
|
||||
sub report_failure_and_restart ($) {
|
||||
my $tinfo= shift;
|
||||
|
||||
stop_all_servers();
|
||||
if ($opt_valgrind_mysqld && ($tinfo->{'warnings'} || $tinfo->{'timeout'})) {
|
||||
# In these cases we may want valgrind report from normal termination
|
||||
$tinfo->{'dont_kill_server'}= 1;
|
||||
}
|
||||
# Shotdown properly if not to be killed (for valgrind)
|
||||
stop_all_servers($tinfo->{'dont_kill_server'} ? $opt_shutdown_timeout : 0);
|
||||
|
||||
$tinfo->{'result'}= 'MTR_RES_FAILED';
|
||||
|
||||
@ -5366,6 +5375,8 @@ sub valgrind_arguments {
|
||||
#
|
||||
|
||||
sub valgrind_exit_reports() {
|
||||
my $found_err= 0;
|
||||
|
||||
foreach my $log_file (keys %mysqld_logs)
|
||||
{
|
||||
my @culprits= ();
|
||||
@ -5401,7 +5412,7 @@ sub valgrind_exit_reports() {
|
||||
next;
|
||||
}
|
||||
# This line marks the start of a valgrind report
|
||||
$found_report= 1 if $line =~ /ERROR SUMMARY:/;
|
||||
$found_report= 1 if $line =~ /^==\d+== .* SUMMARY:/;
|
||||
|
||||
if ($found_report) {
|
||||
$line=~ s/^==\d+== //;
|
||||
@ -5418,8 +5429,11 @@ sub valgrind_exit_reports() {
|
||||
mtr_print ("Valgrind report from $log_file after tests:\n", @culprits);
|
||||
mtr_print_line();
|
||||
print ("$valgrind_rep\n");
|
||||
$found_err= 1;
|
||||
}
|
||||
}
|
||||
|
||||
return $found_err;
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -18,7 +18,7 @@ change_user
|
||||
SELECT @@session.sql_big_selects;
|
||||
@@session.sql_big_selects
|
||||
0
|
||||
SET @@global.max_join_size = -1;
|
||||
SET @@global.max_join_size = 18446744073709551615;
|
||||
SET @@session.max_join_size = default;
|
||||
change_user
|
||||
SELECT @@session.sql_big_selects;
|
||||
|
@ -215,6 +215,17 @@ SET GLOBAL event_scheduler = OFF;
|
||||
|
||||
# -- End of Bug#35074.
|
||||
|
||||
#
|
||||
# -- Bug#49752: 2469.126.2 unintentionally breaks authentication
|
||||
# against MySQL 5.1 server
|
||||
#
|
||||
GRANT ALL ON test.* TO 'Azundris12345678'@'localhost' IDENTIFIED BY 'test123';
|
||||
FLUSH PRIVILEGES;
|
||||
DROP USER 'Azundris12345678'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
#
|
||||
# -- End of Bug#49752
|
||||
#
|
||||
# ------------------------------------------------------------------
|
||||
# -- End of 5.1 tests
|
||||
# ------------------------------------------------------------------
|
||||
|
@ -70,3 +70,311 @@ we_ivo NULL
|
||||
we_martin NULL
|
||||
we_toshko NULL
|
||||
drop table t1;
|
||||
#
|
||||
# Start of 5.1 tests
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
cp1251_general_ci
|
||||
CREATE TABLE t1 AS SELECT ' ' AS a LIMIT 0;
|
||||
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
|
||||
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
|
||||
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
|
||||
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
|
||||
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
|
||||
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
|
||||
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
|
||||
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
|
||||
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
|
||||
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
|
||||
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
|
||||
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
|
||||
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
|
||||
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
|
||||
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
|
||||
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
|
||||
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
|
||||
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
|
||||
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
|
||||
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
|
||||
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
|
||||
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
|
||||
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
|
||||
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
|
||||
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
|
||||
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
|
||||
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
|
||||
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
|
||||
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
|
||||
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
|
||||
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
|
||||
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
|
||||
SELECT
|
||||
HEX(a) AS chr,
|
||||
HEX(LOWER(a)) AS upper,
|
||||
HEX(LOWER(a)) AS lower,
|
||||
HEX(@utf8:=CONVERT(a USING utf8)) AS utf8,
|
||||
HEX(@roundtrip:=CAST(@utf8 AS CHAR)) AS roundtrip,
|
||||
if(a=BINARY @roundtrip,'','Round trip unsafe') AS issafe
|
||||
FROM t1 ORDER BY chr;
|
||||
chr upper lower utf8 roundtrip issafe
|
||||
00 00 00 00 00
|
||||
01 01 01 01 01
|
||||
02 02 02 02 02
|
||||
03 03 03 03 03
|
||||
04 04 04 04 04
|
||||
05 05 05 05 05
|
||||
06 06 06 06 06
|
||||
07 07 07 07 07
|
||||
08 08 08 08 08
|
||||
09 09 09 09 09
|
||||
0A 0A 0A 0A 0A
|
||||
0B 0B 0B 0B 0B
|
||||
0C 0C 0C 0C 0C
|
||||
0D 0D 0D 0D 0D
|
||||
0E 0E 0E 0E 0E
|
||||
0F 0F 0F 0F 0F
|
||||
10 10 10 10 10
|
||||
11 11 11 11 11
|
||||
12 12 12 12 12
|
||||
13 13 13 13 13
|
||||
14 14 14 14 14
|
||||
15 15 15 15 15
|
||||
16 16 16 16 16
|
||||
17 17 17 17 17
|
||||
18 18 18 18 18
|
||||
19 19 19 19 19
|
||||
1A 1A 1A 1A 1A
|
||||
1B 1B 1B 1B 1B
|
||||
1C 1C 1C 1C 1C
|
||||
1D 1D 1D 1D 1D
|
||||
1E 1E 1E 1E 1E
|
||||
1F 1F 1F 1F 1F
|
||||
20 20 20 20 20
|
||||
21 21 21 21 21
|
||||
22 22 22 22 22
|
||||
23 23 23 23 23
|
||||
24 24 24 24 24
|
||||
25 25 25 25 25
|
||||
26 26 26 26 26
|
||||
27 27 27 27 27
|
||||
28 28 28 28 28
|
||||
29 29 29 29 29
|
||||
2A 2A 2A 2A 2A
|
||||
2B 2B 2B 2B 2B
|
||||
2C 2C 2C 2C 2C
|
||||
2D 2D 2D 2D 2D
|
||||
2E 2E 2E 2E 2E
|
||||
2F 2F 2F 2F 2F
|
||||
30 30 30 30 30
|
||||
31 31 31 31 31
|
||||
32 32 32 32 32
|
||||
33 33 33 33 33
|
||||
34 34 34 34 34
|
||||
35 35 35 35 35
|
||||
36 36 36 36 36
|
||||
37 37 37 37 37
|
||||
38 38 38 38 38
|
||||
39 39 39 39 39
|
||||
3A 3A 3A 3A 3A
|
||||
3B 3B 3B 3B 3B
|
||||
3C 3C 3C 3C 3C
|
||||
3D 3D 3D 3D 3D
|
||||
3E 3E 3E 3E 3E
|
||||
3F 3F 3F 3F 3F
|
||||
40 40 40 40 40
|
||||
41 61 61 41 41
|
||||
42 62 62 42 42
|
||||
43 63 63 43 43
|
||||
44 64 64 44 44
|
||||
45 65 65 45 45
|
||||
46 66 66 46 46
|
||||
47 67 67 47 47
|
||||
48 68 68 48 48
|
||||
49 69 69 49 49
|
||||
4A 6A 6A 4A 4A
|
||||
4B 6B 6B 4B 4B
|
||||
4C 6C 6C 4C 4C
|
||||
4D 6D 6D 4D 4D
|
||||
4E 6E 6E 4E 4E
|
||||
4F 6F 6F 4F 4F
|
||||
50 70 70 50 50
|
||||
51 71 71 51 51
|
||||
52 72 72 52 52
|
||||
53 73 73 53 53
|
||||
54 74 74 54 54
|
||||
55 75 75 55 55
|
||||
56 76 76 56 56
|
||||
57 77 77 57 57
|
||||
58 78 78 58 58
|
||||
59 79 79 59 59
|
||||
5A 7A 7A 5A 5A
|
||||
5B 5B 5B 5B 5B
|
||||
5C 5C 5C 5C 5C
|
||||
5D 5D 5D 5D 5D
|
||||
5E 5E 5E 5E 5E
|
||||
5F 5F 5F 5F 5F
|
||||
60 60 60 60 60
|
||||
61 61 61 61 61
|
||||
62 62 62 62 62
|
||||
63 63 63 63 63
|
||||
64 64 64 64 64
|
||||
65 65 65 65 65
|
||||
66 66 66 66 66
|
||||
67 67 67 67 67
|
||||
68 68 68 68 68
|
||||
69 69 69 69 69
|
||||
6A 6A 6A 6A 6A
|
||||
6B 6B 6B 6B 6B
|
||||
6C 6C 6C 6C 6C
|
||||
6D 6D 6D 6D 6D
|
||||
6E 6E 6E 6E 6E
|
||||
6F 6F 6F 6F 6F
|
||||
70 70 70 70 70
|
||||
71 71 71 71 71
|
||||
72 72 72 72 72
|
||||
73 73 73 73 73
|
||||
74 74 74 74 74
|
||||
75 75 75 75 75
|
||||
76 76 76 76 76
|
||||
77 77 77 77 77
|
||||
78 78 78 78 78
|
||||
79 79 79 79 79
|
||||
7A 7A 7A 7A 7A
|
||||
7B 7B 7B 7B 7B
|
||||
7C 7C 7C 7C 7C
|
||||
7D 7D 7D 7D 7D
|
||||
7E 7E 7E 7E 7E
|
||||
7F 7F 7F 7F 7F
|
||||
80 90 90 D082 80
|
||||
81 83 83 D083 81
|
||||
82 82 82 E2809A 82
|
||||
83 83 83 D193 83
|
||||
84 84 84 E2809E 84
|
||||
85 85 85 E280A6 85
|
||||
86 86 86 E280A0 86
|
||||
87 87 87 E280A1 87
|
||||
88 88 88 E282AC 88
|
||||
89 89 89 E280B0 89
|
||||
8A 9A 9A D089 8A
|
||||
8B 8B 8B E280B9 8B
|
||||
8C 9C 9C D08A 8C
|
||||
8D 9D 9D D08C 8D
|
||||
8E 9E 9E D08B 8E
|
||||
8F 9F 9F D08F 8F
|
||||
90 90 90 D192 90
|
||||
91 91 91 E28098 91
|
||||
92 92 92 E28099 92
|
||||
93 93 93 E2809C 93
|
||||
94 94 94 E2809D 94
|
||||
95 95 95 E280A2 95
|
||||
96 96 96 E28093 96
|
||||
97 97 97 E28094 97
|
||||
98 98 98 3F 3F Round trip unsafe
|
||||
99 99 99 E284A2 99
|
||||
9A 9A 9A D199 9A
|
||||
9B 9B 9B E280BA 9B
|
||||
9C 9C 9C D19A 9C
|
||||
9D 9D 9D D19C 9D
|
||||
9E 9E 9E D19B 9E
|
||||
9F 9F 9F D19F 9F
|
||||
A0 A0 A0 C2A0 A0
|
||||
A1 A2 A2 D08E A1
|
||||
A2 A2 A2 D19E A2
|
||||
A3 BC BC D088 A3
|
||||
A4 A4 A4 C2A4 A4
|
||||
A5 B4 B4 D290 A5
|
||||
A6 A6 A6 C2A6 A6
|
||||
A7 A7 A7 C2A7 A7
|
||||
A8 B8 B8 D081 A8
|
||||
A9 A9 A9 C2A9 A9
|
||||
AA BA BA D084 AA
|
||||
AB AB AB C2AB AB
|
||||
AC AC AC C2AC AC
|
||||
AD AD AD C2AD AD
|
||||
AE AE AE C2AE AE
|
||||
AF BF BF D087 AF
|
||||
B0 B0 B0 C2B0 B0
|
||||
B1 B1 B1 C2B1 B1
|
||||
B2 B3 B3 D086 B2
|
||||
B3 B3 B3 D196 B3
|
||||
B4 B4 B4 D291 B4
|
||||
B5 B5 B5 C2B5 B5
|
||||
B6 B6 B6 C2B6 B6
|
||||
B7 B7 B7 C2B7 B7
|
||||
B8 B8 B8 D191 B8
|
||||
B9 B9 B9 E28496 B9
|
||||
BA BA BA D194 BA
|
||||
BB BB BB C2BB BB
|
||||
BC BC BC D198 BC
|
||||
BD BE BE D085 BD
|
||||
BE BE BE D195 BE
|
||||
BF BF BF D197 BF
|
||||
C0 E0 E0 D090 C0
|
||||
C1 E1 E1 D091 C1
|
||||
C2 E2 E2 D092 C2
|
||||
C3 E3 E3 D093 C3
|
||||
C4 E4 E4 D094 C4
|
||||
C5 E5 E5 D095 C5
|
||||
C6 E6 E6 D096 C6
|
||||
C7 E7 E7 D097 C7
|
||||
C8 E8 E8 D098 C8
|
||||
C9 E9 E9 D099 C9
|
||||
CA EA EA D09A CA
|
||||
CB EB EB D09B CB
|
||||
CC EC EC D09C CC
|
||||
CD ED ED D09D CD
|
||||
CE EE EE D09E CE
|
||||
CF EF EF D09F CF
|
||||
D0 F0 F0 D0A0 D0
|
||||
D1 F1 F1 D0A1 D1
|
||||
D2 F2 F2 D0A2 D2
|
||||
D3 F3 F3 D0A3 D3
|
||||
D4 F4 F4 D0A4 D4
|
||||
D5 F5 F5 D0A5 D5
|
||||
D6 F6 F6 D0A6 D6
|
||||
D7 F7 F7 D0A7 D7
|
||||
D8 F8 F8 D0A8 D8
|
||||
D9 F9 F9 D0A9 D9
|
||||
DA FA FA D0AA DA
|
||||
DB FB FB D0AB DB
|
||||
DC FC FC D0AC DC
|
||||
DD FD FD D0AD DD
|
||||
DE FE FE D0AE DE
|
||||
DF FF FF D0AF DF
|
||||
E0 E0 E0 D0B0 E0
|
||||
E1 E1 E1 D0B1 E1
|
||||
E2 E2 E2 D0B2 E2
|
||||
E3 E3 E3 D0B3 E3
|
||||
E4 E4 E4 D0B4 E4
|
||||
E5 E5 E5 D0B5 E5
|
||||
E6 E6 E6 D0B6 E6
|
||||
E7 E7 E7 D0B7 E7
|
||||
E8 E8 E8 D0B8 E8
|
||||
E9 E9 E9 D0B9 E9
|
||||
EA EA EA D0BA EA
|
||||
EB EB EB D0BB EB
|
||||
EC EC EC D0BC EC
|
||||
ED ED ED D0BD ED
|
||||
EE EE EE D0BE EE
|
||||
EF EF EF D0BF EF
|
||||
F0 F0 F0 D180 F0
|
||||
F1 F1 F1 D181 F1
|
||||
F2 F2 F2 D182 F2
|
||||
F3 F3 F3 D183 F3
|
||||
F4 F4 F4 D184 F4
|
||||
F5 F5 F5 D185 F5
|
||||
F6 F6 F6 D186 F6
|
||||
F7 F7 F7 D187 F7
|
||||
F8 F8 F8 D188 F8
|
||||
F9 F9 F9 D189 F9
|
||||
FA FA FA D18A FA
|
||||
FB FB FB D18B FB
|
||||
FC FC FC D18C FC
|
||||
FD FD FD D18D FD
|
||||
FE FE FE D18E FE
|
||||
FF FF FF D18F FF
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
|
@ -1898,3 +1898,34 @@ CONVERT(a, CHAR) CONVERT(b, CHAR)
|
||||
70000 1092
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'яэюя'));
|
||||
LENGTH(RPAD(0.0115E88, 61297, _utf8'яэюя'))
|
||||
61297
|
||||
SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'йцуя'));
|
||||
LENGTH(RPAD(0.0115E88, 61297, _utf8'йцуя'))
|
||||
61297
|
||||
SELECT HEX(RPAD(0x20, 2, _utf8 0xD18F));
|
||||
HEX(RPAD(0x20, 2, _utf8 0xD18F))
|
||||
20D1
|
||||
SELECT HEX(RPAD(0x20, 4, _utf8 0xD18F));
|
||||
HEX(RPAD(0x20, 4, _utf8 0xD18F))
|
||||
20D18FD1
|
||||
SELECT HEX(LPAD(0x20, 2, _utf8 0xD18F));
|
||||
HEX(LPAD(0x20, 2, _utf8 0xD18F))
|
||||
D120
|
||||
SELECT HEX(LPAD(0x20, 4, _utf8 0xD18F));
|
||||
HEX(LPAD(0x20, 4, _utf8 0xD18F))
|
||||
D18FD120
|
||||
SELECT HEX(RPAD(_utf8 0xD18F, 3, 0x20));
|
||||
HEX(RPAD(_utf8 0xD18F, 3, 0x20))
|
||||
D18F20
|
||||
SELECT HEX(LPAD(_utf8 0xD18F, 3, 0x20));
|
||||
HEX(LPAD(_utf8 0xD18F, 3, 0x20))
|
||||
20D18F
|
||||
SELECT HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20));
|
||||
HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20))
|
||||
D120
|
||||
SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
|
||||
HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20))
|
||||
D120D18E
|
||||
End of 5.1 tests
|
||||
|
@ -251,4 +251,50 @@ EXPLAIN SELECT c1 FROM t1 WHERE c2 = 1 AND c4 = 1 AND c5 = 1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref c2,c2_2 c2 10 const,const 3 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#56814 Explain + subselect + fulltext crashes server
|
||||
#
|
||||
CREATE TABLE t1(f1 VARCHAR(6) NOT NULL,
|
||||
FULLTEXT KEY(f1),UNIQUE(f1));
|
||||
INSERT INTO t1 VALUES ('test');
|
||||
EXPLAIN SELECT 1 FROM t1
|
||||
WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 system NULL NULL NULL NULL 1
|
||||
2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
|
||||
2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
|
||||
PREPARE stmt FROM
|
||||
'EXPLAIN SELECT 1 FROM t1
|
||||
WHERE 1 > ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
|
||||
ON (MATCH(t1.f1) AGAINST (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1))';
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 system NULL NULL NULL NULL 1
|
||||
2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
|
||||
2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 system NULL NULL NULL NULL 1
|
||||
2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
|
||||
2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
|
||||
DEALLOCATE PREPARE stmt;
|
||||
PREPARE stmt FROM
|
||||
'EXPLAIN SELECT 1 FROM t1
|
||||
WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a
|
||||
ON (MATCH(t1.f1) AGAINST (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1))';
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 system NULL NULL NULL NULL 1
|
||||
2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
|
||||
2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 system NULL NULL NULL NULL 1
|
||||
2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
|
||||
2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests.
|
||||
|
@ -644,4 +644,40 @@ Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine
|
||||
#
|
||||
CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1));
|
||||
INSERT INTO t1 VALUES ('test');
|
||||
SELECT 1 FROM t1 WHERE 1 >
|
||||
ALL((SELECT 1 FROM t1 JOIN t1 a
|
||||
ON (MATCH(t1.f1) against (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1)) xor f1;
|
||||
1
|
||||
1
|
||||
PREPARE stmt FROM
|
||||
'SELECT 1 FROM t1 WHERE 1 >
|
||||
ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
|
||||
ON (MATCH(t1.f1) against (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1)) xor f1';
|
||||
EXECUTE stmt;
|
||||
1
|
||||
1
|
||||
EXECUTE stmt;
|
||||
1
|
||||
1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
PREPARE stmt FROM
|
||||
'SELECT 1 FROM t1 WHERE 1 >
|
||||
ALL((SELECT 1 FROM t1 JOIN t1 a
|
||||
ON (MATCH(t1.f1) against (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1))';
|
||||
EXECUTE stmt;
|
||||
1
|
||||
1
|
||||
EXECUTE stmt;
|
||||
1
|
||||
1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
@ -1029,4 +1029,12 @@ GROUP_CONCAT(t1.a ORDER BY t1.a)
|
||||
1,1,2,2
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57194 group_concat cause crash and/or invalid memory reads with type errors
|
||||
#
|
||||
CREATE TABLE t1(f1 int);
|
||||
INSERT INTO t1 values (0),(0);
|
||||
SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d));
|
||||
ERROR 22007: Illegal non geometric '(select 1 from (select (1 = group_concat(`test`.`t1`.`f1` separator ',')) AS `1 IN (GROUP_CONCAT(t1.f1))` from `test`.`t1` join `test`.`t1` `t` group by `t`.`f1`) `d`)' value found during parsing
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
@ -482,4 +482,20 @@ RAND(i)
|
||||
0.155220427694936
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57477 SIGFPE when dividing a huge number a negative number
|
||||
#
|
||||
SELECT -9999999999999999991 DIV -1;
|
||||
-9999999999999999991 DIV -1
|
||||
-9223372036854775808
|
||||
Warnings:
|
||||
Error 1292 Truncated incorrect DECIMAL value: ''
|
||||
SELECT -9223372036854775808 DIV -1;
|
||||
-9223372036854775808 DIV -1
|
||||
-9223372036854775808
|
||||
SELECT -9223372036854775808 MOD -1;
|
||||
-9223372036854775808 MOD -1
|
||||
0
|
||||
SELECT -9223372036854775808999 MOD -1;
|
||||
-9223372036854775808999 MOD -1
|
||||
0
|
||||
End of 5.1 tests
|
||||
|
@ -351,4 +351,10 @@ GREATEST(a, (SELECT b FROM t1 LIMIT 1))
|
||||
3
|
||||
1
|
||||
DROP TABLE t1;
|
||||
SELECT INET_NTOA(0);
|
||||
INET_NTOA(0)
|
||||
0.0.0.0
|
||||
SELECT '1' IN ('1', INET_NTOA(0));
|
||||
'1' IN ('1', INET_NTOA(0))
|
||||
1
|
||||
End of tests
|
||||
|
@ -1845,4 +1845,14 @@ SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||
SUBSTRING(a,1,10) LENGTH(a)
|
||||
1111111111 1300
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
|
||||
#
|
||||
CREATE TABLE t1(f1 INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (16777214),(0);
|
||||
SELECT COUNT(*) FROM t1 LEFT JOIN t1 t2
|
||||
ON 1 WHERE t2.f1 > 1 GROUP BY t2.f1;
|
||||
COUNT(*)
|
||||
2
|
||||
DROP TABLE t1;
|
||||
# End of 5.1 tests
|
||||
|
@ -1397,4 +1397,34 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
Warnings:
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on((`test`.`jt6`.`f1` and 1)) left join `test`.`t1` `jt1` on(1) where 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
|
||||
#
|
||||
CREATE TABLE t1 (f1 INT NOT NULL, PRIMARY KEY (f1));
|
||||
CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY (f1, f2));
|
||||
INSERT INTO t1 VALUES (4);
|
||||
INSERT INTO t2 VALUES (3, 3);
|
||||
INSERT INTO t2 VALUES (7, 7);
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using temporary; Using filesort
|
||||
1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using index
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
f1 f1 f2
|
||||
4 NULL NULL
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort
|
||||
1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
f1 f1 f2
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.1 tests
|
||||
|
@ -334,8 +334,7 @@ test.t1 check status OK
|
||||
DROP TABLE t1,t2;
|
||||
set global key_cache_block_size= @my_key_cache_block_size;
|
||||
set @@global.key_buffer_size=0;
|
||||
Warnings:
|
||||
Warning 1438 Cannot drop default keycache
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
select @@global.key_buffer_size;
|
||||
@@global.key_buffer_size
|
||||
2097152
|
||||
|
@ -235,4 +235,75 @@ Bug #47147: mysql client option --skip-column-names does not apply to vertical o
|
||||
*************************** 1. row ***************************
|
||||
1
|
||||
|
||||
#
|
||||
# Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
|
||||
# commands.
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
USE connected_db;
|
||||
SHOW TABLES;
|
||||
Tables_in_connected_db
|
||||
table_in_connected_db
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
#
|
||||
# Testing --one-database option
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
SHOW TABLES IN connected_db;
|
||||
Tables_in_connected_db
|
||||
t1
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
t1
|
||||
USE test;
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
SHOW TABLES IN test1;
|
||||
Tables_in_test1
|
||||
DROP DATABASE test1;
|
||||
|
||||
#
|
||||
# Checking --one-database option followed by the execution of
|
||||
# connect command.
|
||||
#
|
||||
CREATE DATABASE connected_db;
|
||||
SHOW TABLES IN connected_db;
|
||||
Tables_in_connected_db
|
||||
t1
|
||||
t2
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
t1
|
||||
t2
|
||||
DROP TABLE test.t1;
|
||||
DROP TABLE test.t2;
|
||||
DROP DATABASE connected_db;
|
||||
|
||||
#
|
||||
# Checking --one-database option with no database specified
|
||||
# at command-line.
|
||||
#
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
|
||||
#
|
||||
# Checking --one-database option with non_existent_db
|
||||
# specified with USE command
|
||||
#
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
table_in_test
|
||||
DROP DATABASE test;
|
||||
|
||||
CREATE DATABASE test;
|
||||
SHOW TABLES IN test;
|
||||
Tables_in_test
|
||||
table_in_test
|
||||
DROP DATABASE test;
|
||||
CREATE DATABASE test;
|
||||
|
||||
End of tests
|
||||
|
@ -308,6 +308,10 @@ var3 two columns with same name
|
||||
var4 from query that returns NULL
|
||||
var5 from query that returns no row
|
||||
failing query in let
|
||||
create table t1 (a varchar(100));
|
||||
insert into t1 values ('`select 42`');
|
||||
`select 42`
|
||||
drop table t1;
|
||||
mysqltest: At line 1: Error running query 'failing query': 1064 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 'failing query' at line 1
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
|
||||
mysqltest: At line 1: Could not open './non_existingFile' for reading, errno: 2
|
||||
@ -398,7 +402,9 @@ true-inner
|
||||
true-inner again
|
||||
true-outer
|
||||
Counter is greater than 0, (counter=10)
|
||||
Counter should still be 10, is 10
|
||||
Counter is not 0, (counter=0)
|
||||
Not space var works
|
||||
Counter is true, (counter=alpha)
|
||||
Beta is true
|
||||
while with string, only once
|
||||
|
@ -1,5 +1,31 @@
|
||||
drop table if exists t1, t2;
|
||||
#
|
||||
# Bug#56287: crash when using Partition datetime in sub in query
|
||||
#
|
||||
CREATE TABLE t1
|
||||
(c1 bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
c2 varchar(40) not null default '',
|
||||
c3 datetime not NULL,
|
||||
PRIMARY KEY (c1,c3),
|
||||
KEY partidx(c3))
|
||||
ENGINE=InnoDB
|
||||
PARTITION BY RANGE (TO_DAYS(c3))
|
||||
(PARTITION p200912 VALUES LESS THAN (to_days('2010-01-01')),
|
||||
PARTITION p201103 VALUES LESS THAN (to_days('2011-04-01')),
|
||||
PARTITION p201912 VALUES LESS THAN MAXVALUE);
|
||||
insert into t1(c2,c3) values ("Test row",'2010-01-01 00:00:00');
|
||||
SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't1' AND TABLE_SCHEMA = 'test';
|
||||
PARTITION_NAME TABLE_ROWS
|
||||
p200912 0
|
||||
p201103 1
|
||||
p201912 0
|
||||
SELECT count(*) FROM t1 p where c3 in
|
||||
(select c3 from t1 t where t.c3 < date '2011-04-26 19:19:44'
|
||||
and t.c3 > date '2011-04-26 19:18:44') ;
|
||||
count(*)
|
||||
0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#51830: Incorrect partition pruning on range partition (regression)
|
||||
#
|
||||
CREATE TABLE t1 (a INT NOT NULL)
|
||||
@ -387,3 +413,9 @@ a b
|
||||
3 2003-03-03
|
||||
COMMIT;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (i1 int NOT NULL primary key, f1 int) ENGINE = InnoDB
|
||||
PARTITION BY HASH(i1) PARTITIONS 2;
|
||||
INSERT INTO t1 VALUES (1,1), (2,2);
|
||||
SELECT * FROM t1 WHERE i1 = ( SELECT i1 FROM t1 WHERE f1=0 LIMIT 1 );
|
||||
i1 f1
|
||||
DROP TABLE t1;
|
||||
|
@ -447,4 +447,7 @@ IF(
|
||||
count(*), 1)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @v:=@v:=sum(1) from dual;
|
||||
@v:=@v:=sum(1)
|
||||
1
|
||||
End of 5.1 tests
|
||||
|
@ -1511,4 +1511,37 @@ SELECT @@skip_name_resolve;
|
||||
SHOW VARIABLES LIKE 'skip_name_resolve';
|
||||
Variable_name Value
|
||||
skip_name_resolve OFF
|
||||
#
|
||||
# Bug #43233 : Some server variables are clipped during "update,"
|
||||
# not "check" stage
|
||||
#
|
||||
SET @kbs=@@global.key_buffer_size;
|
||||
SET @kcbs=@@global.key_cache_block_size;
|
||||
throw errors in STRICT mode
|
||||
SET SQL_MODE=STRICT_ALL_TABLES;
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
ERROR 42000: Variable 'max_binlog_cache_size' can't be set to the value of '-1'
|
||||
SET @@global.max_join_size=0;
|
||||
ERROR 42000: Variable 'max_join_size' can't be set to the value of '0'
|
||||
SET @@global.key_buffer_size=0;
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
SET @@global.key_cache_block_size=0;
|
||||
ERROR 42000: Variable 'key_cache_block_size' can't be set to the value of '0'
|
||||
throw warnings in default mode
|
||||
SET SQL_MODE=DEFAULT;
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_binlog_cache_size value: '-1'
|
||||
SET @@global.max_join_size=0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_join_size value: '0'
|
||||
SET @@global.key_buffer_size=0;
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
SET @@global.key_cache_block_size=0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '0'
|
||||
SET @@global.max_binlog_cache_size=DEFAULT;
|
||||
SET @@global.max_join_size=DEFAULT;
|
||||
SET @@global.key_buffer_size=@kbs;
|
||||
SET @@global.key_cache_block_size=@kcbs;
|
||||
End of 5.1 tests
|
||||
|
@ -1330,3 +1330,62 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
# # Query 1 # COMMIT
|
||||
DROP TABLE t1;
|
||||
|
||||
# BUG#54903 BINLOG statement toggles session variables
|
||||
# ----------------------------------------------------------------------
|
||||
# This test verify that BINLOG statement doesn't change current session's
|
||||
# variables foreign_key_checks and unique_checks.
|
||||
|
||||
CREATE TABLE t1 (c1 INT KEY);
|
||||
SET @@SESSION.foreign_key_checks= ON;
|
||||
SET @@SESSION.unique_checks= ON;
|
||||
# INSERT INTO t1 VALUES (1)
|
||||
# foreign_key_checks=0 and unique_checks=0
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
# Their values should be ON
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks ON
|
||||
unique_checks ON
|
||||
|
||||
SET @@SESSION.foreign_key_checks= OFF;
|
||||
SET @@SESSION.unique_checks= OFF;
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
# It should not change current session's variables, even error happens
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
DROP TABLE t1;
|
||||
|
@ -801,3 +801,62 @@ Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
# # Query 1 # COMMIT
|
||||
DROP TABLE t1;
|
||||
|
||||
# BUG#54903 BINLOG statement toggles session variables
|
||||
# ----------------------------------------------------------------------
|
||||
# This test verify that BINLOG statement doesn't change current session's
|
||||
# variables foreign_key_checks and unique_checks.
|
||||
|
||||
CREATE TABLE t1 (c1 INT KEY);
|
||||
SET @@SESSION.foreign_key_checks= ON;
|
||||
SET @@SESSION.unique_checks= ON;
|
||||
# INSERT INTO t1 VALUES (1)
|
||||
# foreign_key_checks=0 and unique_checks=0
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
# Their values should be ON
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks ON
|
||||
unique_checks ON
|
||||
|
||||
SET @@SESSION.foreign_key_checks= OFF;
|
||||
SET @@SESSION.unique_checks= OFF;
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
# INSERT INTO t1 VALUES(2)
|
||||
# foreign_key_checks=1 and unique_checks=1
|
||||
# It should not change current session's variables, even error happens
|
||||
BINLOG '
|
||||
dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
|
||||
dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
|
||||
';
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
2
|
||||
# Their values should be OFF
|
||||
SHOW SESSION VARIABLES LIKE "%_checks";
|
||||
Variable_name Value
|
||||
foreign_key_checks OFF
|
||||
unique_checks OFF
|
||||
DROP TABLE t1;
|
||||
|
@ -2599,6 +2599,46 @@ rows 3
|
||||
Extra Using index
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#56862 Execution of a query that uses index merge returns a wrong result
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
a int,
|
||||
b int,
|
||||
INDEX idx(a))
|
||||
ENGINE=INNODB;
|
||||
INSERT INTO t1(a,b) VALUES
|
||||
(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
|
||||
(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
|
||||
(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
|
||||
(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
|
||||
INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1 VALUES (1000000, 0, 0);
|
||||
SET SESSION sort_buffer_size = 1024*36;
|
||||
EXPLAIN
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
|
||||
2 DERIVED t1 index_merge PRIMARY,idx idx,PRIMARY 5,4 NULL 3537 Using sort_union(idx,PRIMARY); Using where
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
COUNT(*)
|
||||
1537
|
||||
SET SESSION sort_buffer_size = DEFAULT;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Test for bug #39932 "create table fails if column for FK is in different
|
||||
|
@ -824,6 +824,48 @@ CREATE INDEX b ON t1(a,b,c,d);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#56862 Execution of a query that uses index merge returns a wrong result
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
a int,
|
||||
b int,
|
||||
INDEX idx(a))
|
||||
ENGINE=INNODB;
|
||||
|
||||
INSERT INTO t1(a,b) VALUES
|
||||
(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
|
||||
(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
|
||||
(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
|
||||
(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
|
||||
INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1 VALUES (1000000, 0, 0);
|
||||
|
||||
SET SESSION sort_buffer_size = 1024*36;
|
||||
|
||||
EXPLAIN
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
|
||||
SET SESSION sort_buffer_size = DEFAULT;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
6
mysql-test/suite/innodb_plugin/r/innodb_bug56947.result
Normal file
6
mysql-test/suite/innodb_plugin/r/innodb_bug56947.result
Normal file
@ -0,0 +1,6 @@
|
||||
create table bug56947(a int not null) engine = innodb;
|
||||
CREATE TABLE `bug56947#1`(a int) ENGINE=InnoDB;
|
||||
alter table bug56947 add unique index (a);
|
||||
ERROR HY000: Table 'test.bug56947#1' already exists
|
||||
drop table `bug56947#1`;
|
||||
drop table bug56947;
|
@ -2400,4 +2400,42 @@ PACK_KEYS=0;
|
||||
CREATE INDEX a ON t1 (a);
|
||||
CREATE INDEX c on t1 (c);
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
a int,
|
||||
b int,
|
||||
INDEX idx(a))
|
||||
ENGINE=INNODB;
|
||||
INSERT INTO t1(a,b) VALUES
|
||||
(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
|
||||
(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
|
||||
(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
|
||||
(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
|
||||
INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1 VALUES (1000000, 0, 0);
|
||||
SET SESSION sort_buffer_size = 1024*36;
|
||||
EXPLAIN
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
|
||||
2 DERIVED t1 index_merge PRIMARY,idx idx,PRIMARY 5,4 NULL 3537 Using sort_union(idx,PRIMARY); Using where
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
COUNT(*)
|
||||
1537
|
||||
SET SESSION sort_buffer_size = DEFAULT;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
11
mysql-test/suite/innodb_plugin/t/innodb_bug56947.test
Normal file
11
mysql-test/suite/innodb_plugin/t/innodb_bug56947.test
Normal file
@ -0,0 +1,11 @@
|
||||
#
|
||||
# Bug #56947 valgrind reports a memory leak in innodb-plugin.innodb-index
|
||||
#
|
||||
-- source include/have_innodb_plugin.inc
|
||||
|
||||
create table bug56947(a int not null) engine = innodb;
|
||||
CREATE TABLE `bug56947#1`(a int) ENGINE=InnoDB;
|
||||
--error 156
|
||||
alter table bug56947 add unique index (a);
|
||||
drop table `bug56947#1`;
|
||||
drop table bug56947;
|
@ -645,5 +645,48 @@ CREATE INDEX c on t1 (c);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#56862 Execution of a query that uses index merge returns a wrong result
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
a int,
|
||||
b int,
|
||||
INDEX idx(a))
|
||||
ENGINE=INNODB;
|
||||
|
||||
INSERT INTO t1(a,b) VALUES
|
||||
(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
|
||||
(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
|
||||
(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
|
||||
(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
|
||||
INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1(a,b) SELECT a,b FROM t1;
|
||||
INSERT INTO t1 VALUES (1000000, 0, 0);
|
||||
|
||||
SET SESSION sort_buffer_size = 1024*36;
|
||||
|
||||
EXPLAIN
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
|
||||
SELECT COUNT(*) FROM
|
||||
(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
|
||||
WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
|
||||
|
||||
SET SESSION sort_buffer_size = DEFAULT;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -313,9 +313,7 @@ FLUSH LOGS;
|
||||
|
||||
# Stop master server
|
||||
--echo --> Stop master server
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server 10
|
||||
--source include/wait_until_disconnected.inc
|
||||
# Replace binlog
|
||||
@ -323,9 +321,7 @@ remove_file $MYSQLD_DATADIR/master-bin.000001;
|
||||
copy_file $MYSQL_TEST_DIR/std_data/bug16266.000001 $MYSQLD_DATADIR/master-bin.000001;
|
||||
|
||||
--echo --> Start master server
|
||||
--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
let $binlog_version= query_get_value(SHOW BINLOG EVENTS, Info, 1);
|
||||
|
@ -20,7 +20,7 @@ SET @@session.max_join_size = default;
|
||||
SELECT @@session.sql_big_selects;
|
||||
# On some machines the following will result into a warning
|
||||
--disable_warnings
|
||||
SET @@global.max_join_size = -1;
|
||||
SET @@global.max_join_size = 18446744073709551615;
|
||||
--enable_warnings
|
||||
SET @@session.max_join_size = default;
|
||||
--echo change_user
|
||||
|
@ -293,6 +293,34 @@ SET GLOBAL event_scheduler = OFF;
|
||||
--echo # -- End of Bug#35074.
|
||||
--echo
|
||||
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo #
|
||||
--echo # -- Bug#49752: 2469.126.2 unintentionally breaks authentication
|
||||
--echo # against MySQL 5.1 server
|
||||
--echo #
|
||||
|
||||
GRANT ALL ON test.* TO 'Azundris12345678'@'localhost' IDENTIFIED BY 'test123';
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
connect (con1,localhost,Azundris123456789,test123,test);
|
||||
disconnect con1;
|
||||
|
||||
connection default;
|
||||
|
||||
DROP USER 'Azundris12345678'@'localhost';
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
--echo #
|
||||
--echo # -- End of Bug#49752
|
||||
--echo #
|
||||
|
||||
|
||||
|
||||
--echo # ------------------------------------------------------------------
|
||||
--echo # -- End of 5.1 tests
|
||||
--echo # ------------------------------------------------------------------
|
||||
|
@ -48,3 +48,13 @@ select * from t1 where a like 'we_%';
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
--echo #
|
||||
--echo # Start of 5.1 tests
|
||||
--echo #
|
||||
|
||||
--source include/ctype_8bit.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.1 tests
|
||||
--echo #
|
||||
|
@ -1466,3 +1466,23 @@ SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) from t1 GROUP BY b;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
#
|
||||
# Bug #57272: crash in rpad() when using utf8
|
||||
#
|
||||
SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'яэюя'));
|
||||
SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'йцуя'));
|
||||
SELECT HEX(RPAD(0x20, 2, _utf8 0xD18F));
|
||||
SELECT HEX(RPAD(0x20, 4, _utf8 0xD18F));
|
||||
SELECT HEX(LPAD(0x20, 2, _utf8 0xD18F));
|
||||
SELECT HEX(LPAD(0x20, 4, _utf8 0xD18F));
|
||||
|
||||
SELECT HEX(RPAD(_utf8 0xD18F, 3, 0x20));
|
||||
SELECT HEX(LPAD(_utf8 0xD18F, 3, 0x20));
|
||||
|
||||
SELECT HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20));
|
||||
SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -228,4 +228,40 @@ EXPLAIN SELECT c1 FROM t1 WHERE c2 = 1 AND c4 = 1 AND c5 = 1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#56814 Explain + subselect + fulltext crashes server
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(f1 VARCHAR(6) NOT NULL,
|
||||
FULLTEXT KEY(f1),UNIQUE(f1));
|
||||
INSERT INTO t1 VALUES ('test');
|
||||
|
||||
EXPLAIN SELECT 1 FROM t1
|
||||
WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1));
|
||||
|
||||
PREPARE stmt FROM
|
||||
'EXPLAIN SELECT 1 FROM t1
|
||||
WHERE 1 > ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
|
||||
ON (MATCH(t1.f1) AGAINST (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1))';
|
||||
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
PREPARE stmt FROM
|
||||
'EXPLAIN SELECT 1 FROM t1
|
||||
WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a
|
||||
ON (MATCH(t1.f1) AGAINST (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1))';
|
||||
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
@ -585,4 +585,40 @@ REPAIR TABLE t1;
|
||||
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1));
|
||||
INSERT INTO t1 VALUES ('test');
|
||||
|
||||
SELECT 1 FROM t1 WHERE 1 >
|
||||
ALL((SELECT 1 FROM t1 JOIN t1 a
|
||||
ON (MATCH(t1.f1) against (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1)) xor f1;
|
||||
|
||||
PREPARE stmt FROM
|
||||
'SELECT 1 FROM t1 WHERE 1 >
|
||||
ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
|
||||
ON (MATCH(t1.f1) against (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1)) xor f1';
|
||||
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
PREPARE stmt FROM
|
||||
'SELECT 1 FROM t1 WHERE 1 >
|
||||
ALL((SELECT 1 FROM t1 JOIN t1 a
|
||||
ON (MATCH(t1.f1) against (""))
|
||||
WHERE t1.f1 GROUP BY t1.f1))';
|
||||
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -734,4 +734,16 @@ EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57194 group_concat cause crash and/or invalid memory reads with type errors
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(f1 int);
|
||||
INSERT INTO t1 values (0),(0);
|
||||
--disable_ps_protocol
|
||||
--error ER_ILLEGAL_VALUE_FOR_TYPE
|
||||
SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d));
|
||||
--enable_ps_protocol
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -308,5 +308,11 @@ SELECT RAND(i) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57477 SIGFPE when dividing a huge number a negative number
|
||||
--echo #
|
||||
SELECT -9999999999999999991 DIV -1;
|
||||
SELECT -9223372036854775808 DIV -1;
|
||||
SELECT -9223372036854775808 MOD -1;
|
||||
SELECT -9223372036854775808999 MOD -1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -479,4 +479,12 @@ SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #57283: inet_ntoa() crashes
|
||||
#
|
||||
SELECT INET_NTOA(0);
|
||||
SELECT '1' IN ('1', INET_NTOA(0));
|
||||
|
||||
|
||||
--echo End of tests
|
||||
|
@ -1235,5 +1235,16 @@ SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||
SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(f1 INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (16777214),(0);
|
||||
|
||||
SELECT COUNT(*) FROM t1 LEFT JOIN t1 t2
|
||||
ON 1 WHERE t2.f1 > 1 GROUP BY t2.f1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 5.1 tests
|
||||
|
@ -981,4 +981,33 @@ EXPLAIN EXTENDED SELECT STRAIGHT_JOIN jt1.f1 FROM t1 AS jt1
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (f1 INT NOT NULL, PRIMARY KEY (f1));
|
||||
CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY (f1, f2));
|
||||
|
||||
INSERT INTO t1 VALUES (4);
|
||||
INSERT INTO t2 VALUES (3, 3);
|
||||
INSERT INTO t2 VALUES (7, 7);
|
||||
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
|
||||
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
|
||||
GROUP BY t2.f1, t2.f2;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -216,6 +216,7 @@ set global key_cache_block_size= @my_key_cache_block_size;
|
||||
# Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
|
||||
# (One cannot drop the default key cache.)
|
||||
#
|
||||
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
||||
set @@global.key_buffer_size=0;
|
||||
select @@global.key_buffer_size;
|
||||
|
||||
|
@ -412,5 +412,149 @@ drop table t1;
|
||||
--echo
|
||||
--exec $MYSQL --skip-column-names --vertical test -e "select 1 as a"
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
|
||||
--echo # commands.
|
||||
--echo #
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/bug54899.sql
|
||||
DROP DATABASE connected_db;
|
||||
CREATE DATABASE connected_db;
|
||||
USE connected_db;
|
||||
CREATE TABLE `table_in_connected_db`(a INT);
|
||||
EOF
|
||||
|
||||
CREATE DATABASE connected_db;
|
||||
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/bug54899.sql
|
||||
USE connected_db;
|
||||
SHOW TABLES;
|
||||
DROP DATABASE connected_db;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/bug54899.sql
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Testing --one-database option
|
||||
--echo #
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
CREATE TABLE t1 (i INT);
|
||||
CREATE TABLE test.t1 (i INT);
|
||||
USE test;
|
||||
# Following statements should be filtered.
|
||||
CREATE TABLE connected_db.t2 (i INT);
|
||||
CREATE TABLE t2 (i INT);
|
||||
EOF
|
||||
|
||||
CREATE DATABASE connected_db;
|
||||
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
SHOW TABLES IN connected_db;
|
||||
SHOW TABLES IN test;
|
||||
USE test;
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE connected_db;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
|
||||
--echo
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
CREATE DATABASE test1;
|
||||
USE test1;
|
||||
USE test1;
|
||||
# Following statements should be filtered.
|
||||
CREATE TABLE connected_db.t1 (i INT);
|
||||
EOF
|
||||
|
||||
--exec $MYSQL --one-database test < $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
SHOW TABLES IN test;
|
||||
SHOW TABLES IN test1;
|
||||
DROP DATABASE test1;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Checking --one-database option followed by the execution of
|
||||
--echo # connect command.
|
||||
--echo #
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
CREATE TABLE t1 (i INT);
|
||||
CREATE TABLE test.t1 (i INT);
|
||||
CONNECT test;
|
||||
CREATE TABLE connected_db.t2 (i INT);
|
||||
CREATE TABLE t2 (i INT);
|
||||
USE connected_db;
|
||||
# Following statements should be filtered.
|
||||
CREATE TABLE connected_db.t3 (i INT);
|
||||
CREATE TABLE t3 (i INT);
|
||||
EOF
|
||||
|
||||
CREATE DATABASE connected_db;
|
||||
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
SHOW TABLES IN connected_db;
|
||||
SHOW TABLES IN test;
|
||||
DROP TABLE test.t1;
|
||||
DROP TABLE test.t2;
|
||||
DROP DATABASE connected_db;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Checking --one-database option with no database specified
|
||||
--echo # at command-line.
|
||||
--echo #
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
# All following statements should be filtered.
|
||||
CREATE TABLE t1 (i INT);
|
||||
CREATE TABLE test.t1 (i INT);
|
||||
USE test;
|
||||
CREATE TABLE test.t2 (i INT);
|
||||
CREATE TABLE t2 (i INT);
|
||||
EOF
|
||||
|
||||
--exec $MYSQL --one-database < $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
SHOW TABLES IN test;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Checking --one-database option with non_existent_db
|
||||
--echo # specified with USE command
|
||||
--echo #
|
||||
|
||||
# CASE 1 : When 'test' database exists and passed at commandline.
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
|
||||
CREATE TABLE `table_in_test`(i INT);
|
||||
USE non_existent_db;
|
||||
# Following statement should be filtered out.
|
||||
CREATE TABLE `table_in_non_existent_db`(i INT);
|
||||
EOF
|
||||
|
||||
# CASE 2 : When 'test' database exists but dropped and recreated in load file.
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
|
||||
DROP DATABASE test;
|
||||
CREATE DATABASE test;
|
||||
USE non_existent_db;
|
||||
# Following statements should be filtered out.
|
||||
CREATE TABLE `table_in_non_existent_db`(i INT);
|
||||
USE test;
|
||||
# Following statements should not be filtered out.
|
||||
CREATE TABLE `table_in_test`(i INT);
|
||||
EOF
|
||||
|
||||
--exec $MYSQL --one-database test < $MYSQLTEST_VARDIR/tmp/one_db_1.sql
|
||||
SHOW TABLES IN test;
|
||||
DROP DATABASE test;
|
||||
--echo
|
||||
CREATE DATABASE test;
|
||||
--exec $MYSQL --one-database test < $MYSQLTEST_VARDIR/tmp/one_db_2.sql
|
||||
SHOW TABLES IN test;
|
||||
DROP DATABASE test;
|
||||
CREATE DATABASE test;
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
|
||||
|
||||
--echo
|
||||
--echo End of tests
|
||||
|
@ -854,6 +854,13 @@ let $var2= `failing query`;
|
||||
echo $var2;
|
||||
EOF
|
||||
|
||||
create table t1 (a varchar(100));
|
||||
insert into t1 values ('`select 42`');
|
||||
let $a= `select * from t1`;
|
||||
# This should output `select 42`, not evaluate it again to 42
|
||||
echo $a;
|
||||
drop table t1;
|
||||
|
||||
--error 1
|
||||
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/let.sql 2>&1
|
||||
|
||||
@ -1131,6 +1138,11 @@ if (!$counter)
|
||||
{
|
||||
echo Counter is not 0, (counter=10);
|
||||
}
|
||||
if (! $counter)
|
||||
{
|
||||
let $counter=5;
|
||||
}
|
||||
echo Counter should still be 10, is $counter;
|
||||
let $counter=0;
|
||||
if($counter)
|
||||
{
|
||||
@ -1140,6 +1152,10 @@ if (!$counter)
|
||||
{
|
||||
echo Counter is not 0, (counter=0);
|
||||
}
|
||||
if (! $counter)
|
||||
{
|
||||
echo Not space var works;
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test if with some non-numerics
|
||||
|
@ -7,6 +7,30 @@ drop table if exists t1, t2;
|
||||
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#56287: crash when using Partition datetime in sub in query
|
||||
--echo #
|
||||
CREATE TABLE t1
|
||||
(c1 bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
c2 varchar(40) not null default '',
|
||||
c3 datetime not NULL,
|
||||
PRIMARY KEY (c1,c3),
|
||||
KEY partidx(c3))
|
||||
ENGINE=InnoDB
|
||||
PARTITION BY RANGE (TO_DAYS(c3))
|
||||
(PARTITION p200912 VALUES LESS THAN (to_days('2010-01-01')),
|
||||
PARTITION p201103 VALUES LESS THAN (to_days('2011-04-01')),
|
||||
PARTITION p201912 VALUES LESS THAN MAXVALUE);
|
||||
|
||||
insert into t1(c2,c3) values ("Test row",'2010-01-01 00:00:00');
|
||||
|
||||
SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't1' AND TABLE_SCHEMA = 'test';
|
||||
SELECT count(*) FROM t1 p where c3 in
|
||||
(select c3 from t1 t where t.c3 < date '2011-04-26 19:19:44'
|
||||
and t.c3 > date '2011-04-26 19:18:44') ;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#51830: Incorrect partition pruning on range partition (regression)
|
||||
--echo #
|
||||
@ -401,3 +425,16 @@ connection default;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #55146 Assertion `m_part_spec.start_part == m_part_spec.end_part' in index_read_idx_map
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (i1 int NOT NULL primary key, f1 int) ENGINE = InnoDB
|
||||
PARTITION BY HASH(i1) PARTITIONS 2;
|
||||
|
||||
INSERT INTO t1 VALUES (1,1), (2,2);
|
||||
|
||||
SELECT * FROM t1 WHERE i1 = ( SELECT i1 FROM t1 WHERE f1=0 LIMIT 1 );
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -346,4 +346,11 @@ FROM t1 GROUP BY a LIMIT 1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# BUG#56138 "valgrind errors about overlapping memory when
|
||||
# double-assigning same variable"
|
||||
#
|
||||
|
||||
select @v:=@v:=sum(1) from dual;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -1255,4 +1255,48 @@ SET GLOBAL max_binlog_cache_size = @old_max_binlog_cache_size;
|
||||
SELECT @@skip_name_resolve;
|
||||
SHOW VARIABLES LIKE 'skip_name_resolve';
|
||||
|
||||
--echo #
|
||||
--echo # Bug #43233 : Some server variables are clipped during "update,"
|
||||
--echo # not "check" stage
|
||||
--echo #
|
||||
|
||||
SET @kbs=@@global.key_buffer_size;
|
||||
SET @kcbs=@@global.key_cache_block_size;
|
||||
|
||||
--echo throw errors in STRICT mode
|
||||
SET SQL_MODE=STRICT_ALL_TABLES;
|
||||
|
||||
# sys_var_ulonglong_ptr: sys_max_binlog_cache_size
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
|
||||
# sys_var_thd_ha_rows: "max_join_size" et al.
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
SET @@global.max_join_size=0;
|
||||
|
||||
# sys_var_key_buffer_size: "key_buffer_size"
|
||||
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
||||
SET @@global.key_buffer_size=0;
|
||||
|
||||
# sys_var_key_cache_long: "key_cache_block_size" et al.
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
SET @@global.key_cache_block_size=0;
|
||||
|
||||
--echo throw warnings in default mode
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
SET @@global.max_join_size=0;
|
||||
# this is an exception. since this is a new error/warning, let's stay
|
||||
# compatible with the upcoming 5.6.
|
||||
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
||||
SET @@global.key_buffer_size=0;
|
||||
SET @@global.key_cache_block_size=0;
|
||||
|
||||
# cleanup
|
||||
SET @@global.max_binlog_cache_size=DEFAULT;
|
||||
SET @@global.max_join_size=DEFAULT;
|
||||
SET @@global.key_buffer_size=@kbs;
|
||||
SET @@global.key_cache_block_size=@kcbs;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
Reference in New Issue
Block a user