mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
Merge 10.2 into bb-10.2-ext
This commit is contained in:
commit
1c4b6afbaa
11 changed files with 98 additions and 16 deletions
|
@ -2168,6 +2168,25 @@ show status like "Qcache_hits";
|
|||
Variable_name Value
|
||||
Qcache_hits 1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-15328: MariaDB 10.2.13 Crashes upon CALL PROCEDURE PARAM
|
||||
# LAST_INSERT_ID ()
|
||||
# (part 2, part 1 is in sp.test)
|
||||
#
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1);
|
||||
CREATE FUNCTION foo (i INT UNSIGNED ) RETURNS int deterministic RETURN 1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
SELECT foo( LAST_INSERT_ID() ) from t1;
|
||||
foo( LAST_INSERT_ID() )
|
||||
1
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
DROP FUNCTION foo;
|
||||
drop table t1;
|
||||
restore defaults
|
||||
SET GLOBAL query_cache_type= default;
|
||||
SET GLOBAL query_cache_size= default;
|
||||
|
|
|
@ -8337,6 +8337,14 @@ drop procedure p1;
|
|||
drop procedure p2;
|
||||
drop procedure p3;
|
||||
#
|
||||
# MDEV-15328: MariaDB 10.2.13 Crashes upon CALL PROCEDURE PARAM
|
||||
# LAST_INSERT_ID ()
|
||||
# (part 1, part 2 is in query_cache.test)
|
||||
#
|
||||
CREATE PROCEDURE foo ( IN i INT UNSIGNED ) BEGIN END;
|
||||
CALL foo( LAST_INSERT_ID() );
|
||||
DROP PROCEDURE foo;
|
||||
#
|
||||
# Start of 10.3 tests
|
||||
#
|
||||
#
|
||||
|
|
|
@ -358,3 +358,15 @@ Error 1062 Duplicate entry '11' for key 'a'
|
|||
|
||||
DROP TABLE t1;
|
||||
DROP FUNCTION f1;
|
||||
connect con1,localhost,root,,;
|
||||
SELECT TIME('10:10:10.11111111111');
|
||||
TIME('10:10:10.11111111111')
|
||||
10:10:10.111111
|
||||
Warnings:
|
||||
Note 1292 Truncated incorrect time value: '10:10:10.11111111111'
|
||||
disconnect con1;
|
||||
connect con2,localhost,root,,;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
disconnect con2;
|
||||
connection default;
|
||||
|
|
|
@ -335,7 +335,6 @@ INSERT INTO t1 SELECT * FROM t2;
|
|||
connection default;
|
||||
REPLACE INTO t2 SELECT * FROM t2;
|
||||
connection con1;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
disconnect con1;
|
||||
connect con2,localhost,root,,test;
|
||||
INSERT INTO t3 VALUES (1);
|
||||
|
|
|
@ -1767,6 +1767,21 @@ show status like "Qcache_inserts";
|
|||
show status like "Qcache_hits";
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15328: MariaDB 10.2.13 Crashes upon CALL PROCEDURE PARAM
|
||||
--echo # LAST_INSERT_ID ()
|
||||
--echo # (part 2, part 1 is in sp.test)
|
||||
--echo #
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1);
|
||||
CREATE FUNCTION foo (i INT UNSIGNED ) RETURNS int deterministic RETURN 1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
SELECT foo( LAST_INSERT_ID() ) from t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
DROP FUNCTION foo;
|
||||
drop table t1;
|
||||
|
||||
--echo restore defaults
|
||||
SET GLOBAL query_cache_type= default;
|
||||
SET GLOBAL query_cache_size= default;
|
||||
|
|
|
@ -9841,6 +9841,16 @@ drop procedure p1;
|
|||
drop procedure p2;
|
||||
drop procedure p3;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15328: MariaDB 10.2.13 Crashes upon CALL PROCEDURE PARAM
|
||||
--echo # LAST_INSERT_ID ()
|
||||
--echo # (part 1, part 2 is in query_cache.test)
|
||||
--echo #
|
||||
|
||||
CREATE PROCEDURE foo ( IN i INT UNSIGNED ) BEGIN END;
|
||||
CALL foo( LAST_INSERT_ID() );
|
||||
DROP PROCEDURE foo;
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.3 tests
|
||||
--echo #
|
||||
|
|
|
@ -1 +1 @@
|
|||
--loose-skip-innodb
|
||||
--loose-skip-innodb --thread-handling=one-thread-per-connection
|
||||
|
|
|
@ -286,3 +286,15 @@ SHOW WARNINGS;
|
|||
|
||||
DROP TABLE t1;
|
||||
DROP FUNCTION f1;
|
||||
|
||||
# MDEV-14581 Warning info not cleared when caching THD
|
||||
connect (con1,localhost,root,,);
|
||||
SELECT TIME('10:10:10.11111111111');
|
||||
disconnect con1;
|
||||
|
||||
connect (con2,localhost,root,,);
|
||||
SHOW WARNINGS;
|
||||
disconnect con2;
|
||||
|
||||
connection default;
|
||||
|
||||
|
|
|
@ -462,7 +462,7 @@ INSERT INTO t1 SELECT * FROM t2;
|
|||
REPLACE INTO t2 SELECT * FROM t2;
|
||||
|
||||
--connection con1
|
||||
--error ER_LOCK_DEADLOCK
|
||||
--error 0, ER_LOCK_DEADLOCK, ER_LOCK_WAIT_TIMEOUT
|
||||
--reap
|
||||
--disconnect con1
|
||||
|
||||
|
|
|
@ -2959,6 +2959,10 @@ static bool cache_thread(THD *thd)
|
|||
_db_pop_();
|
||||
#endif
|
||||
|
||||
/* Clear warnings. */
|
||||
if (!thd->get_stmt_da()->is_warning_info_empty())
|
||||
thd->get_stmt_da()->clear_warning_info(thd->query_id);
|
||||
|
||||
set_timespec(abstime, THREAD_CACHE_TIMEOUT);
|
||||
while (!abort_loop && ! wake_thread && ! kill_cached_threads)
|
||||
{
|
||||
|
|
|
@ -3042,21 +3042,24 @@ public:
|
|||
{
|
||||
safe_to_cache_query= 0;
|
||||
|
||||
/*
|
||||
There are no sense to mark select_lex and union fields of LEX,
|
||||
but we should merk all subselects as uncacheable from current till
|
||||
most upper
|
||||
*/
|
||||
SELECT_LEX *sl;
|
||||
SELECT_LEX_UNIT *un;
|
||||
for (sl= current_select, un= sl->master_unit();
|
||||
un != &unit;
|
||||
sl= sl->outer_select(), un= sl->master_unit())
|
||||
if (current_select) // initialisation SP variables has no SELECT
|
||||
{
|
||||
sl->uncacheable|= cause;
|
||||
un->uncacheable|= cause;
|
||||
/*
|
||||
There are no sense to mark select_lex and union fields of LEX,
|
||||
but we should merk all subselects as uncacheable from current till
|
||||
most upper
|
||||
*/
|
||||
SELECT_LEX *sl;
|
||||
SELECT_LEX_UNIT *un;
|
||||
for (sl= current_select, un= sl->master_unit();
|
||||
un != &unit;
|
||||
sl= sl->outer_select(), un= sl->master_unit())
|
||||
{
|
||||
sl->uncacheable|= cause;
|
||||
un->uncacheable|= cause;
|
||||
}
|
||||
select_lex.uncacheable|= cause;
|
||||
}
|
||||
select_lex.uncacheable|= cause;
|
||||
}
|
||||
void set_trg_event_type_for_tables();
|
||||
|
||||
|
|
Loading…
Reference in a new issue