1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-24511 null field is created with CREATE..SELECT

When creating fields for UNION results, Field_null is not allowed.
Should create binary(0) instead.
This commit is contained in:
Sergei Golubchik
2021-07-27 23:45:30 +02:00
committed by Nikita Malyavin
parent c86f813afe
commit 6152ab7b42
5 changed files with 68 additions and 5 deletions

View File

@ -1873,6 +1873,31 @@ SELECT CAST(1 AS UNSIGNED) UNION ALL SELECT CAST(1 AS SIGNED);
--disable_metadata
--enable_ps_protocol
--echo #
--echo # MDEV-24511 null field is created with CREATE..SELECT
--echo #
set @save_default_storage_engine=@@default_storage_engine;
SET @@default_storage_engine=MEMORY;
CREATE TABLE t1 SELECT NULL UNION SELECT NULL;
--error ER_KEY_COLUMN_DOES_NOT_EXITS
ALTER TABLE t1 ADD INDEX (`PRIMARY`);
CREATE TABLE t2 SELECT NULL;
SHOW CREATE TABLE t2;
CREATE TABLE t3 SELECT NULL UNION SELECT NULL;
SHOW CREATE TABLE t3;
CREATE OR REPLACE TABLE t4 SELECT NULL UNION SELECT NULL;
SHOW CREATE TABLE t4;
ALTER TABLE t4 ADD INDEX (`NULL`);
DROP TABLE t1, t2, t3, t4;
set @@default_storage_engine=@save_default_storage_engine;
--echo #
--echo # End of 10.3 tests
--echo #