Skip to content

Commit

Permalink
MDEV-19449 Got error 168 for valid TRUNCATE (temporary) TABLE
Browse files Browse the repository at this point in the history
Add the test case.

The parent commit, which cherry-picked the MDEV-17167 fix from 10.3
(commit bad2f15)
fixed the bug.
  • Loading branch information
dr-m committed May 14, 2019
1 parent 95fb88d commit 409e210
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
12 changes: 12 additions & 0 deletions mysql-test/r/temp_table.result
Original file line number Diff line number Diff line change
Expand Up @@ -572,3 +572,15 @@ LOCK TABLES t2 WRITE;
TRUNCATE TABLE t1;
UNLOCK TABLES;
DROP TABLE t1, t2;
#
# MDEV-19449 1030: Got error 168 "Unknown (generic) error from engine"
# for valid TRUNCATE (temporary) TABLE
#
CREATE TEMPORARY TABLE t1 (col1 BIGINT) ENGINE = InnoDB;
INSERT INTO t1 (no_such_col) SELECT * FROM t1;
ERROR 42S22: Unknown column 'no_such_col' in 'field list'
TRUNCATE TABLE t1;
ALTER TABLE t1 CHANGE no_such_col1 col1 BIGINT NULL;
ERROR 42S22: Unknown column 'no_such_col1' in 't1'
TRUNCATE TABLE t1;
DROP TEMPORARY TABLE t1;
16 changes: 16 additions & 0 deletions mysql-test/t/temp_table.test
Original file line number Diff line number Diff line change
Expand Up @@ -623,3 +623,19 @@ TRUNCATE TABLE t1;
UNLOCK TABLES;

DROP TABLE t1, t2;

--echo #
--echo # MDEV-19449 1030: Got error 168 "Unknown (generic) error from engine"
--echo # for valid TRUNCATE (temporary) TABLE
--echo #

CREATE TEMPORARY TABLE t1 (col1 BIGINT) ENGINE = InnoDB;
--error ER_BAD_FIELD_ERROR
INSERT INTO t1 (no_such_col) SELECT * FROM t1;
TRUNCATE TABLE t1;
--error ER_BAD_FIELD_ERROR
ALTER TABLE t1 CHANGE no_such_col1 col1 BIGINT NULL;
# This would wrongly try to re-truncate the old copy of the table that
# was not dropped during the first TRUNCATE due to extra table handles.
TRUNCATE TABLE t1;
DROP TEMPORARY TABLE t1;

0 comments on commit 409e210

Please sign in to comment.