diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/type_json.result | 37 | ||||
-rw-r--r-- | mysql-test/t/type_json.test | 28 |
2 files changed, 65 insertions, 0 deletions
diff --git a/mysql-test/r/type_json.result b/mysql-test/r/type_json.result new file mode 100644 index 00000000000..a3e55a6cdd1 --- /dev/null +++ b/mysql-test/r/type_json.result @@ -0,0 +1,37 @@ +create or replace table t1(a json); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` text DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +create or replace table t1(a json character set utf8 default '{a:1}'); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` text CHARACTER SET utf8 DEFAULT '{a:1}' +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +create or replace table t1(a json binary not null check (json_valid(a))); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` text CHARACTER SET latin1 COLLATE latin1_bin NOT NULL CHECK (json_valid(`a`)) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +insert t1 values ('[]'); +insert t1 values ('a'); +ERROR 23000: CONSTRAINT `a` failed for `test`.`t1` +set timestamp=unix_timestamp('2010:11:12 13:14:15'); +create or replace table t1(a json default(json_object('now', now()))); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` text DEFAULT json_object('now',current_timestamp()) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +insert t1 values (); +select * from t1; +a +{"now": "2010-11-12 13:14:15"} +drop table t1; +select cast('{a:1}' as text); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'text)' at line 1 +select cast('{a:1}' as json); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json)' at line 1 diff --git a/mysql-test/t/type_json.test b/mysql-test/t/type_json.test new file mode 100644 index 00000000000..0f6d091d6e3 --- /dev/null +++ b/mysql-test/t/type_json.test @@ -0,0 +1,28 @@ +# +# MDEV-9144 JSON data type +# + +create or replace table t1(a json); +show create table t1; + +create or replace table t1(a json character set utf8 default '{a:1}'); +show create table t1; + +create or replace table t1(a json binary not null check (json_valid(a))); +show create table t1; +insert t1 values ('[]'); +--error ER_CONSTRAINT_FAILED +insert t1 values ('a'); + +set timestamp=unix_timestamp('2010:11:12 13:14:15'); +create or replace table t1(a json default(json_object('now', now()))); +show create table t1; +insert t1 values (); +select * from t1; + +drop table t1; + +--error ER_PARSE_ERROR +select cast('{a:1}' as text); +--error ER_PARSE_ERROR +select cast('{a:1}' as json); |