merge 5.5->10.0-base
This commit is contained in:
commit
bfdbb17990
@ -4019,4 +4019,25 @@ c1
|
||||
NULL
|
||||
2
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-5369: Wrong result (0 instead of NULL) on 2nd execution of
|
||||
# PS with LEFT JOIN, TEMPTABLE view
|
||||
#
|
||||
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (0),(8);
|
||||
CREATE TABLE t2 (pk INT PRIMARY KEY) ENGINE=MyISAM;
|
||||
CREATE ALGORITHM=TEMPTABLE VIEW v2 AS SELECT * FROM t2;
|
||||
SELECT SUM(pk) FROM t1 LEFT JOIN v2 ON a = pk;
|
||||
SUM(pk)
|
||||
NULL
|
||||
PREPARE stmt FROM "SELECT SUM(pk) FROM t1 LEFT JOIN v2 ON a = pk";
|
||||
EXECUTE stmt;
|
||||
SUM(pk)
|
||||
NULL
|
||||
EXECUTE stmt;
|
||||
SUM(pk)
|
||||
NULL
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP VIEW v2;
|
||||
DROP TABLE t1, t2;
|
||||
# End of 5.3 tests
|
||||
|
@ -3,10 +3,23 @@
|
||||
# get .result differences from CURRENT_USER().
|
||||
--source include/not_as_root.inc
|
||||
|
||||
# The previous check verifies that the user does not have root permissions.
|
||||
# However in some cases tests are run under a user named 'root',
|
||||
# even although this user does not have real root permissions.
|
||||
# This test should be skipped in this case, since it does not expect
|
||||
# that there are records in mysql.user where user=<username>
|
||||
if ($USER=="root") {
|
||||
skip Cannot be run by user named 'root' even if it does not have all privileges;
|
||||
}
|
||||
|
||||
if (!$AUTH_SOCKET_SO) {
|
||||
skip No auth_socket plugin;
|
||||
}
|
||||
|
||||
if (!$USER) {
|
||||
skip USER variable is undefined;
|
||||
}
|
||||
|
||||
let $plugindir=`SELECT @@global.plugin_dir`;
|
||||
|
||||
eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
|
||||
|
@ -3594,4 +3594,27 @@ EXECUTE stmt;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5369: Wrong result (0 instead of NULL) on 2nd execution of
|
||||
--echo # PS with LEFT JOIN, TEMPTABLE view
|
||||
--echo #
|
||||
|
||||
|
||||
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (0),(8);
|
||||
|
||||
CREATE TABLE t2 (pk INT PRIMARY KEY) ENGINE=MyISAM;
|
||||
CREATE ALGORITHM=TEMPTABLE VIEW v2 AS SELECT * FROM t2;
|
||||
|
||||
SELECT SUM(pk) FROM t1 LEFT JOIN v2 ON a = pk;
|
||||
|
||||
PREPARE stmt FROM "SELECT SUM(pk) FROM t1 LEFT JOIN v2 ON a = pk";
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP VIEW v2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo # End of 5.3 tests
|
||||
|
@ -625,7 +625,7 @@ bool mysql_derived_prepare(THD *thd, LEX *lex, TABLE_LIST *derived)
|
||||
if ((res= sl->handle_derived(lex, DT_PREPARE)))
|
||||
goto exit;
|
||||
|
||||
if (derived->outer_join)
|
||||
if (derived->outer_join && sl->first_cond_optimization)
|
||||
{
|
||||
/* Mark that table is part of OUTER JOIN and fields may be NULL */
|
||||
for (TABLE_LIST *cursor= (TABLE_LIST*) sl->table_list.first;
|
||||
|
Loading…
x
Reference in New Issue
Block a user