Commit 8b5c1d5a authored by Anel Husakovic's avatar Anel Husakovic Committed by Alexander Barkov

Revert "MDEV-32235: mysql_json cannot be used on newly created table"

This reverts commit 22f3ebe4.
parent 22f3ebe4
......@@ -181,7 +181,12 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop table t1;
create table t1(j mysql_json);
ERROR HY000: Cannot create table `test`.`t1`: Run mariadb-upgrade, to upgrade table with mysql_json type.
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`j` mysql_json /* JSON from MySQL 5.7 */ CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop table t1;
create table `testjson` (
`t` json /* JSON from MySQL 5.7*/ CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
......@@ -206,16 +211,5 @@ testjson CREATE TABLE `testjson` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop table testjson;
#
# MDEV-32235: mysql_json cannot be used on newly created table
#
CREATE TABLE t(j mysql_json);
ERROR HY000: Cannot create table `test`.`t`: Run mariadb-upgrade, to upgrade table with mysql_json type.
CREATE TABLE IF NOT EXISTS t(j mysql_json);
ERROR HY000: Cannot create table `test`.`t`: Run mariadb-upgrade, to upgrade table with mysql_json type.
CREATE OR REPLACE TABLE t(j mysql_json);
ERROR HY000: Cannot create table `test`.`t`: Run mariadb-upgrade, to upgrade table with mysql_json type.
CREATE TEMPORARY TABLE t(j mysql_json);
ERROR HY000: Cannot create table `test`.`t`: Run mariadb-upgrade, to upgrade table with mysql_json type.
#
# End of 10.5 tests
#
......@@ -97,8 +97,9 @@ drop table mysql_json_test_big;
create table t1(j json);
show create table t1;
drop table t1;
--error ER_CANT_CREATE_TABLE
create table t1(j mysql_json);
show create table t1;
drop table t1;
# `json` type should not have character set and collation other than utf8mb4_bin
--error ER_PARSE_ERROR
create table `testjson` (
......@@ -120,20 +121,6 @@ create table `testjson` (
show create table testjson;
drop table testjson;
--echo #
--echo # MDEV-32235: mysql_json cannot be used on newly created table
--echo #
--error ER_CANT_CREATE_TABLE
CREATE TABLE t(j mysql_json);
--error ER_CANT_CREATE_TABLE
CREATE TABLE IF NOT EXISTS t(j mysql_json);
--error ER_CANT_CREATE_TABLE
CREATE OR REPLACE TABLE t(j mysql_json);
--error ER_CANT_CREATE_TABLE
CREATE TEMPORARY TABLE t(j mysql_json);
--echo #
--echo # End of 10.5 tests
--echo #
......@@ -3657,19 +3657,6 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
if (sql_field->vcol_info)
sql_field->flags&= ~NOT_NULL_FLAG;
if (sql_field->real_field_type() == MYSQL_TYPE_BLOB &&
thd->lex->sql_command == SQLCOM_CREATE_TABLE)
{
if (!strcmp(sql_field->type_handler()->name().ptr(), "MYSQL_JSON"))
{
my_printf_error(ER_CANT_CREATE_TABLE,
"Cannot create table %`s.%`s: "
"Run mariadb-upgrade, "
"to upgrade table with mysql_json type.", MYF(0),
alter_info->db.str, alter_info->table_name.str);
DBUG_RETURN(TRUE);
}
}
/*
Initialize length from its original value (number of characters),
which was set in the parser. This is necessary if we're
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment