Revert "MDEV-32235: mysql_json cannot be used on newly created table"
This reverts commit 22f3ebe4bf11acb7b5e854bc4e6b3439af6982f1.
This commit is contained in:
parent
22f3ebe4bf
commit
8b5c1d5afa
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user