mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-26247 MariaDB Server SEGV on INSERT .. SELECT
This problem occured for statements like `INSERT INTO t1 SELECT 1`, which do not have tables in the SELECT part. In such scenarios SELECT_LEX::insert_tables was not properly set at `setup_tables()`, and this led to either incorrect execution or a crash Reviewer: Oleksandr Byelkin <sanja@mariadb.com>
This commit is contained in:
@@ -984,3 +984,52 @@ drop table t1, t2;
|
||||
#
|
||||
# End of 10.3 test
|
||||
#
|
||||
#
|
||||
# MDEV-26427 MariaDB Server SEGV on INSERT .. SELECT
|
||||
#
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 SELECT AVG(1);
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SELECT MIN(2) OVER ();
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
CREATE VIEW v1 AS SELECT * FROM t1 ORDER BY a;
|
||||
INSERT INTO v1 SELECT SUM(3);
|
||||
SELECT * FROM v1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
INSERT INTO v1 SELECT * FROM v1;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
1
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
INSERT INTO t1 SELECT * FROM v1;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.5 test
|
||||
#
|
||||
|
Reference in New Issue
Block a user