mirror of
https://github.com/MariaDB/server.git
synced 2026-04-23 08:45:33 +02:00
Merge.
This commit is contained in:
commit
26e72b5d25
195 changed files with 2335 additions and 1115 deletions
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
--replace_regex /\.dll/.so/
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
|
||||
|
||||
--replace_regex /\.dll/.so/
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
|
|
|
|||
|
|
@ -216,6 +216,21 @@ DROP TABLE t1;
|
|||
# End of 4.1 tests
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Start of 5.1 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Bug#58371 Assertion failed: !s.uses_buffer_owned_by(this) with format string function
|
||||
--echo #
|
||||
|
||||
SET NAMES latin1;
|
||||
DO CONVERT(CAST(SUBSTRING_INDEX(FORMAT(1,'1111'), FORMAT('','Zpq'),1)
|
||||
AS BINARY(0)) USING utf8);
|
||||
--echo #
|
||||
--echo # End of 5.1 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 5.5 tests
|
||||
--echo #
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
# BUG#39746 - Debug flag breaks struct definition (server crash)
|
||||
#
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN simple_parser SONAME $MYPLUGLIB_SO;
|
||||
eval INSTALL PLUGIN simple_parser SONAME '$SIMPLE_PARSER';
|
||||
CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a) WITH PARSER simple_parser);
|
||||
ALTER TABLE t1 ADD FULLTEXT(b) WITH PARSER simple_parser;
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -126,5 +126,10 @@ INSERT INTO t2 VALUES (1), (2), (3);
|
|||
SELECT 1 FROM t2 JOIN t1 ON 1 LIKE a GROUP BY a;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#59149 valgrind warnings with "like .. escape .." function
|
||||
--echo #
|
||||
--error ER_WRONG_ARGUMENTS
|
||||
SELECT '' LIKE '1' ESCAPE COUNT(1);
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
|
|
|||
|
|
@ -489,3 +489,14 @@ as foo;
|
|||
CREATE TABLE t1(a char(0));
|
||||
INSERT INTO t1 (SELECT -pi());
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #59241 invalid memory read
|
||||
--echo # in do_div_mod with doubly assigned variables
|
||||
--echo #
|
||||
SELECT ((@a:=@b:=1.0) div (@b:=@a:=get_format(datetime, 'usa')));
|
||||
|
||||
--echo #
|
||||
--echo # Bug #59498 div function broken in mysql-trunk
|
||||
--echo #
|
||||
SELECT 1 div null;
|
||||
|
|
|
|||
|
|
@ -1370,6 +1370,17 @@ DROP TABLE t1;
|
|||
SELECT '1' IN ('1', SUBSTRING(-9223372036854775809, 1));
|
||||
SELECT CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3));
|
||||
|
||||
--echo #
|
||||
--echo # Bug#58165: "my_empty_string" gets modified and causes LOAD DATA to fail
|
||||
--echo # and other crashes
|
||||
--echo #
|
||||
CREATE TABLE t1 ( a TEXT );
|
||||
SELECT 'aaaaaaaaaaaaaa' INTO OUTFILE 'bug58165.txt';
|
||||
SELECT insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' );
|
||||
LOAD DATA INFILE 'bug58165.txt' INTO TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo Start of 5.4 tests
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ t1 where object_id=85998;
|
|||
|
||||
# Expected result is 36.3310176346905, but IA64 returns 36.3310176346904
|
||||
# due to fused multiply-add instructions.
|
||||
--replace_result 36.3310176346904 36.3310176346905
|
||||
--replace_result 36.3310176346904 36.3310176346905 -114.87787186923326 -114.87787186923313 36.33101763469053 36.33101763469059 36.33101763469043 36.33101763469059
|
||||
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
||||
t1 where object_id=85984;
|
||||
|
||||
|
|
|
|||
|
|
@ -147,6 +147,139 @@ SET DEBUG_SYNC= 'RESET';
|
|||
disconnect con1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#42230 during add index, cannot do queries on storage engines
|
||||
--echo # that implement add_index
|
||||
--echo #
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS db1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
connect(con1,localhost,root);
|
||||
connect(con2,localhost,root);
|
||||
|
||||
--echo # Test 1: Secondary index, should not block reads (original test case).
|
||||
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
CREATE DATABASE db1;
|
||||
CREATE TABLE db1.t1(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT) engine=innodb;
|
||||
INSERT INTO db1.t1(value) VALUES (1), (2);
|
||||
SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
|
||||
--echo # Sending:
|
||||
--send ALTER TABLE db1.t1 ADD INDEX(value)
|
||||
|
||||
--echo # Connection con1
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= "now WAIT_FOR manage";
|
||||
# Neither of these two statements should be blocked
|
||||
USE db1;
|
||||
SELECT * FROM t1;
|
||||
SET DEBUG_SYNC= "now SIGNAL query";
|
||||
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
--echo # Reaping: ALTER TABLE db1.t1 ADD INDEX(value)
|
||||
--reap
|
||||
DROP DATABASE db1;
|
||||
|
||||
--echo # Test 2: Primary index (implicit), should block reads.
|
||||
|
||||
CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
|
||||
SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
|
||||
--echo # Sending:
|
||||
--send ALTER TABLE t1 ADD UNIQUE INDEX(a)
|
||||
|
||||
--echo # Connection con1
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= "now WAIT_FOR manage";
|
||||
USE test;
|
||||
--echo # Sending:
|
||||
--send SELECT * FROM t1
|
||||
|
||||
--echo # Connection con2
|
||||
connection con2;
|
||||
--echo # Waiting for SELECT to be blocked by the metadata lock on t1
|
||||
let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
|
||||
WHERE state= 'Waiting for table metadata lock'
|
||||
AND info='SELECT * FROM t1';
|
||||
--source include/wait_condition.inc
|
||||
SET DEBUG_SYNC= "now SIGNAL query";
|
||||
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
--echo # Reaping: ALTER TABLE t1 ADD UNIQUE INDEX(a)
|
||||
--reap
|
||||
|
||||
--echo # Connection con1
|
||||
connection con1;
|
||||
--echo # Reaping: SELECT * FROM t1
|
||||
--reap
|
||||
|
||||
--echo # Test 3: Primary index (explicit), should block reads.
|
||||
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
ALTER TABLE t1 DROP INDEX a;
|
||||
SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
|
||||
--echo # Sending:
|
||||
--send ALTER TABLE t1 ADD PRIMARY KEY (a)
|
||||
|
||||
--echo # Connection con1
|
||||
connection con1;
|
||||
SET DEBUG_SYNC= "now WAIT_FOR manage";
|
||||
--echo # Sending:
|
||||
--send SELECT * FROM t1
|
||||
|
||||
--echo # Connection con2
|
||||
connection con2;
|
||||
--echo # Waiting for SELECT to be blocked by the metadata lock on t1
|
||||
let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
|
||||
WHERE state= 'Waiting for table metadata lock'
|
||||
AND info='SELECT * FROM t1';
|
||||
--source include/wait_condition.inc
|
||||
SET DEBUG_SYNC= "now SIGNAL query";
|
||||
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
--echo # Reaping: ALTER TABLE t1 ADD PRIMARY KEY (a)
|
||||
--reap
|
||||
|
||||
--echo # Connection con1
|
||||
connection con1;
|
||||
--echo # Reaping: SELECT * FROM t1
|
||||
--reap
|
||||
|
||||
--echo # Test 4: Secondary unique index, should not block reads.
|
||||
# This requires HA_INPLACE_ADD_UNIQUE_INDEX_NO_WRITE to be supported
|
||||
# by InnoDB. Adding this flag currently introduces a regression so
|
||||
# this test is disabled until the regression has been fixed.
|
||||
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
#SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
|
||||
#--echo # Sending:
|
||||
#--send ALTER TABLE t1 ADD UNIQUE (b)
|
||||
|
||||
#--echo # Connection con1
|
||||
#connection con1;
|
||||
#SET DEBUG_SYNC= "now WAIT_FOR manage";
|
||||
#SELECT * FROM t1;
|
||||
#SET DEBUG_SYNC= "now SIGNAL query";
|
||||
|
||||
#--echo # Connection default
|
||||
#connection default;
|
||||
#--echo # Reaping: ALTER TABLE t1 ADD UNIQUE (b)
|
||||
#--reap
|
||||
|
||||
disconnect con1;
|
||||
disconnect con2;
|
||||
SET DEBUG_SYNC= "RESET";
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
# Check that all connections opened by test cases in this file are really
|
||||
# gone so execution of other tests won't be affected by their presence.
|
||||
--source include/wait_until_count_sessions.inc
|
||||
|
|
|
|||
|
|
@ -1010,4 +1010,86 @@ GROUP BY t2.f1, t2.f2;
|
|||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57034 incorrect OUTER JOIN result when joined on unique key
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY,
|
||||
col_int INT,
|
||||
col_int_unique INT UNIQUE KEY);
|
||||
INSERT INTO t1 VALUES (1,NULL,2), (2,0,0);
|
||||
|
||||
CREATE TABLE t2 (pk INT PRIMARY KEY,
|
||||
col_int INT,
|
||||
col_int_unique INT UNIQUE KEY);
|
||||
INSERT INTO t2 VALUES (1,0,1), (2,0,2);
|
||||
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 LEFT JOIN t2
|
||||
ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int
|
||||
WHERE t1.pk=1;
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2
|
||||
ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int
|
||||
WHERE t1.pk=1;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#48046 Server incorrectly processing JOINs on NULL values
|
||||
--echo #
|
||||
|
||||
# bug#48046 is a duplicate of bug#57034
|
||||
|
||||
CREATE TABLE `BB` (
|
||||
`pk` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`time_key` time DEFAULT NULL,
|
||||
`varchar_key` varchar(1) DEFAULT NULL,
|
||||
`varchar_nokey` varchar(1) DEFAULT NULL,
|
||||
PRIMARY KEY (`pk`),
|
||||
KEY `time_key` (`time_key`),
|
||||
KEY `varchar_key` (`varchar_key`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT INTO `BB` VALUES (10,'18:27:58',NULL,NULL);
|
||||
|
||||
SELECT table1.time_key AS field1, table2.pk
|
||||
FROM BB table1 LEFT JOIN BB table2
|
||||
ON table2.varchar_nokey = table1.varchar_key
|
||||
HAVING field1;
|
||||
|
||||
DROP TABLE BB;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#49600 Server incorrectly processing RIGHT JOIN with
|
||||
--echo # constant WHERE clause and no index
|
||||
--echo #
|
||||
|
||||
# bug#49600 is a duplicate of bug#57034
|
||||
|
||||
CREATE TABLE `BB` (
|
||||
`col_datetime_key` datetime DEFAULT NULL,
|
||||
`col_varchar_key` varchar(1) DEFAULT NULL,
|
||||
`col_varchar_nokey` varchar(1) DEFAULT NULL,
|
||||
KEY `col_datetime_key` (`col_datetime_key`),
|
||||
KEY `col_varchar_key` (`col_varchar_key`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
INSERT INTO `BB` VALUES ('1900-01-01 00:00:00',NULL,NULL);
|
||||
|
||||
SELECT table1.col_datetime_key
|
||||
FROM BB table1 RIGHT JOIN BB table2
|
||||
ON table2 .col_varchar_nokey = table1.col_varchar_key
|
||||
WHERE 7;
|
||||
|
||||
# Disable keys, and we get incorrect result for the same query
|
||||
ALTER TABLE BB DISABLE KEYS;
|
||||
|
||||
SELECT table1.col_datetime_key
|
||||
FROM BB table1 RIGHT JOIN BB table2
|
||||
ON table2 .col_varchar_nokey = table1.col_varchar_key
|
||||
WHERE 7;
|
||||
|
||||
DROP TABLE BB;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
|
|
|||
|
|
@ -33,3 +33,15 @@ EOF
|
|||
--exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf --default-character-set=latin1 -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1
|
||||
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#58221 : mysqladmin --sleep=x --count=x keeps looping
|
||||
--echo #
|
||||
|
||||
--echo # Executing mysqladmin with --sleep=1 and --count=2.
|
||||
--exec $MYSQLADMIN -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --sleep=1 --count=2 ping > $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
|
||||
--echo # Done.
|
||||
--echo # Displaying the output :
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
|
||||
|
|
|
|||
|
|
@ -79,8 +79,8 @@ eval CREATE TABLE t1 (
|
|||
--echo # Insert some big rows.
|
||||
--echo #
|
||||
|
||||
--echo 256MB
|
||||
INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 16777216));
|
||||
--echo 64MB
|
||||
INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 4194304));
|
||||
|
||||
--echo 32MB
|
||||
INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 2097152));
|
||||
|
|
|
|||
|
|
@ -2169,6 +2169,15 @@ SELECT LENGTH(a) FROM t2;
|
|||
DROP TABLE t1, t2;
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo #
|
||||
--echo # Bug #13618 : mysqldump --xml ommit comment on table field
|
||||
--echo #
|
||||
|
||||
CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT';
|
||||
--exec $MYSQL_DUMP --compact --skip-create --xml test
|
||||
DROP TABLE `comment_table`;
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.1 tests
|
||||
--echo #
|
||||
|
|
|
|||
|
|
@ -859,6 +859,12 @@ insert into t1 values ('`select 42`');
|
|||
let $a= `select * from t1`;
|
||||
# This should output `select 42`, not evaluate it again to 42
|
||||
echo $a;
|
||||
insert into t1 values ('$dollar');
|
||||
# These should also output the string without evaluating it.
|
||||
let $a= query_get_value(select * from t1 order by a, a, 1);
|
||||
echo $a;
|
||||
let $a= query_get_value(select * from t1 order by a, a, 2);
|
||||
echo $a;
|
||||
drop table t1;
|
||||
|
||||
--error 1
|
||||
|
|
|
|||
|
|
@ -10,6 +10,21 @@ drop table if exists t1, t2;
|
|||
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57924: crash when creating partitioned table with
|
||||
--echo # multiple columns in the partition key
|
||||
--echo #
|
||||
--error ER_SAME_NAME_PARTITION_FIELD
|
||||
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
|
||||
PARTITION BY KEY(a, b, a);
|
||||
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
|
||||
PARTITION BY KEY(A, b);
|
||||
DROP TABLE t1;
|
||||
--error ER_SAME_NAME_PARTITION_FIELD
|
||||
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
|
||||
PARTITION BY KEY(a, b, A);
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#54483: valgrind errors when making warnings for multiline inserts
|
||||
--echo # into partition
|
||||
|
|
@ -670,7 +685,6 @@ PARTITION BY HASH (TIME_TO_SEC(a));
|
|||
CREATE TABLE t1 (a INT)
|
||||
PARTITION BY HASH (TIME_TO_SEC(a));
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#50036: Inconsistent errors when using TIMESTAMP
|
||||
--echo # columns/expressions
|
||||
|
|
|
|||
|
|
@ -5,15 +5,15 @@ CREATE TABLE t1(a int) ENGINE=EXAMPLE;
|
|||
DROP TABLE t1;
|
||||
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
|
||||
--replace_regex /\.dll/.so/
|
||||
--error 1125
|
||||
eval INSTALL PLUGIN EXAMPLE SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN EXAMPLE SONAME '$EXAMPLE_PLUGIN';
|
||||
|
||||
UNINSTALL PLUGIN example;
|
||||
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
|
||||
|
||||
CREATE TABLE t1(a int) ENGINE=EXAMPLE;
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ UNINSTALL PLUGIN non_exist;
|
|||
--echo # to impossible int val
|
||||
--echo #
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
|
||||
|
||||
SET GLOBAL example_enum_var= e1;
|
||||
SET GLOBAL example_enum_var= e2;
|
||||
|
|
@ -56,7 +56,7 @@ UNINSTALL PLUGIN example;
|
|||
# Bug #32757 hang with sql_mode set when setting some global variables
|
||||
#
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
|
||||
|
||||
select @@session.sql_mode into @old_sql_mode;
|
||||
|
||||
|
|
|
|||
|
|
@ -395,7 +395,7 @@ FLUSH PRIVILEGES;
|
|||
FLUSH PRIVILEGES;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#58139 : default-auth option not recognized in MySQL standardi
|
||||
--echo # Bug#58139 : default-auth option not recognized in MySQL standard
|
||||
--echo # command line clients
|
||||
--echo #
|
||||
|
||||
|
|
@ -408,4 +408,7 @@ FLUSH PRIVILEGES;
|
|||
--echo # Executing 'mysqldump'
|
||||
--exec $MYSQL_DUMP -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --compact --default-auth=auth_test_plugin $PLUGIN_AUTH_OPT test
|
||||
|
||||
--echo # Executing 'mysql_upgrade'
|
||||
--exec $MYSQL_UPGRADE -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --default-auth=auth_test_plugin $PLUGIN_AUTH_OPT --skip-verbose --force --upgrade-system-tables
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
$PLUGIN_AUTH_OPT
|
||||
$PLUGIN_AUTH_INTERFACE
|
||||
$PLUGIN_AUTH_INTERFACE_OPT
|
||||
$PLUGIN_AUTH_INTERFACE_LOAD
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
$PLUGIN_AUTH_OPT
|
||||
$PLUGIN_AUTH_SERVER
|
||||
$PLUGIN_AUTH_SERVER_OPT
|
||||
$PLUGIN_AUTH_SERVER_LOAD
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
GRANT INSERT ON mysql.plugin TO bug51770@localhost;
|
||||
connect(con1,localhost,bug51770,,);
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
UNINSTALL PLUGIN example;
|
||||
connection default;
|
||||
|
|
@ -25,7 +25,7 @@ DROP USER bug51770@localhost;
|
|||
# The bug consisted of not recognizing / on Windows, so checking / on
|
||||
# all platforms should cover this case.
|
||||
|
||||
let $path = `select CONCAT_WS('/', '..', $HA_EXAMPLE_SO)`;
|
||||
let $path = `select CONCAT_WS('/', '..', '$EXAMPLE_PLUGIN')`;
|
||||
--replace_regex /\.dll/.so/
|
||||
--error ER_UDF_NO_PATHS
|
||||
eval INSTALL PLUGIN example SONAME '$path';
|
||||
|
|
|
|||
|
|
@ -4123,6 +4123,76 @@ SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
|
|||
DROP TABLE t1;
|
||||
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #58422: Incorrect result when OUTER JOIN'ing
|
||||
--echo # with an empty table
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t_empty(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
|
||||
CREATE TABLE t1(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
|
||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||
CREATE TABLE t2(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
|
||||
INSERT INTO t2 VALUES (1,1), (2,2), (3,3);
|
||||
|
||||
EXPLAIN
|
||||
SELECT *
|
||||
FROM
|
||||
t1
|
||||
LEFT OUTER JOIN
|
||||
(t2 INNER JOIN t_empty ON TRUE)
|
||||
ON t1.pk=t2.pk
|
||||
WHERE t2.pk <> 2;
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
t1
|
||||
LEFT OUTER JOIN
|
||||
(t2 INNER JOIN t_empty ON TRUE)
|
||||
ON t1.pk=t2.pk
|
||||
WHERE t2.pk <> 2;
|
||||
|
||||
|
||||
EXPLAIN
|
||||
SELECT *
|
||||
FROM
|
||||
t1
|
||||
LEFT OUTER JOIN
|
||||
(t2 CROSS JOIN t_empty)
|
||||
ON t1.pk=t2.pk
|
||||
WHERE t2.pk <> 2;
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
t1
|
||||
LEFT OUTER JOIN
|
||||
(t2 CROSS JOIN t_empty)
|
||||
ON t1.pk=t2.pk
|
||||
WHERE t2.pk <> 2;
|
||||
|
||||
|
||||
EXPLAIN
|
||||
SELECT *
|
||||
FROM
|
||||
t1
|
||||
LEFT OUTER JOIN
|
||||
(t2 INNER JOIN t_empty ON t_empty.i=t2.i)
|
||||
ON t1.pk=t2.pk
|
||||
WHERE t2.pk <> 2;
|
||||
|
||||
SELECT *
|
||||
FROM
|
||||
t1
|
||||
LEFT OUTER JOIN
|
||||
(t2 INNER JOIN t_empty ON t_empty.i=t2.i)
|
||||
ON t1.pk=t2.pk
|
||||
WHERE t2.pk <> 2;
|
||||
|
||||
|
||||
|
||||
DROP TABLE t1,t2,t_empty;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo #
|
||||
|
|
|
|||
|
|
@ -1,3 +1,33 @@
|
|||
# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; version 2 of
|
||||
# the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
#
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# NOTICE:
|
||||
#
|
||||
# This file unfortunately contains characters in various different encodings.
|
||||
# Be careful when editing this file to ensure that you (or your editor) do
|
||||
# not change things (such as encodings) on lines that you did not mean to
|
||||
# modify.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
||||
# Uses GRANT commands that usually disabled in embedded server
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
|
|
@ -223,14 +253,6 @@ CREATE TABLE """a" (i INT);
|
|||
SHOW CREATE TABLE """a";
|
||||
DROP TABLE """a";
|
||||
|
||||
# Bug#4374 SHOW TABLE STATUS FROM ignores collation_connection
|
||||
#set names latin1;
|
||||
#create database `ä`;
|
||||
#create table `ä`.`ä` (a int) engine=heap;
|
||||
#--replace_column 7 # 8 # 9 #
|
||||
#show table status from `ä` LIKE 'ä';
|
||||
#drop database `ä`;
|
||||
|
||||
# to test quotes around keywords.. :
|
||||
|
||||
SET sql_mode= '';
|
||||
|
|
@ -362,15 +384,6 @@ delete from mysql.db
|
|||
where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
|
||||
flush privileges;
|
||||
|
||||
# This test fails on MAC OSX, so it is temporary disabled.
|
||||
# This needs WL#1324 to be done.
|
||||
#set names latin1;
|
||||
#create database `ä`;
|
||||
#create table `ä`.`ä` (a int) engine=heap;
|
||||
#--replace_column 7 # 8 # 9 #
|
||||
#show table status from `ä` LIKE 'ä';
|
||||
#drop database `ä`;
|
||||
|
||||
# Test that USING <keytype> is always shown in SHOW CREATE TABLE when it was
|
||||
# specified during table creation, but not otherwise. (Bug#7235)
|
||||
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MEMORY;
|
||||
|
|
@ -1053,6 +1066,17 @@ show full tables;
|
|||
drop table `été`;
|
||||
set names latin1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#4374 SHOW TABLE STATUS FROM ignores collation_connection
|
||||
--echo # Character set: Latin-1 (ISO-8859-1)
|
||||
--echo #
|
||||
SET NAMES latin1;
|
||||
CREATE DATABASE `ä`;
|
||||
CREATE TABLE `ä`.`ä` (a int) ENGINE=Memory;
|
||||
--replace_column 6 # 7 # 8 # 9 #
|
||||
SHOW TABLE STATUS FROM `ä` LIKE 'ä';
|
||||
DROP DATABASE `ä`;
|
||||
|
||||
#
|
||||
# Bug#26402 Server crashes with old-style named table
|
||||
#
|
||||
|
|
|
|||
|
|
@ -445,6 +445,17 @@ SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS
|
|||
# show we truncate microseconds from the right
|
||||
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime) AS DECIMAL(30,7));
|
||||
|
||||
--echo #
|
||||
--echo # Bug#59173: Failure to handle DATE(TIME) values where Year, Month or
|
||||
--echo # Day is ZERO
|
||||
--echo #
|
||||
CREATE TABLE t1 (dt1 DATETIME);
|
||||
INSERT INTO t1 (dt1) VALUES ('0000-00-01 00:00:01');
|
||||
DELETE FROM t1 WHERE dt1 = '0000-00-01 00:00:01';
|
||||
--echo # Should be empty
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo #
|
||||
|
|
|
|||
|
|
@ -640,6 +640,11 @@ SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1);
|
|||
--error ER_ILLEGAL_VALUE_FOR_TYPE
|
||||
SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1));
|
||||
|
||||
--echo #
|
||||
--echo # Bug #44332 my_xml_scan reads behind the end of buffer
|
||||
--echo #
|
||||
SELECT UPDATEXML(CONVERT(_latin1'<' USING utf8),'1','1');
|
||||
SELECT UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1');
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue