1SET sql_mode=ORACLE;
2CREATE TABLE t1 (a DATE);
3SHOW CREATE TABLE t1;
4Table	Create Table
5t1	CREATE TABLE "t1" (
6  "a" datetime DEFAULT NULL
7)
8DROP TABLE t1;
9#
10# MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
11#
12SET sql_mode=DEFAULT;
13CREATE TABLE t1 (a unknown.DATE);
14ERROR HY000: Unknown data type: 'unknown.date'
15SET sql_mode=DEFAULT;
16CREATE TABLE t1 (
17def_date DATE,
18mdb_date mariadb_schema.DATE,
19ora_date oracle_schema.DATE,
20max_date maxdb_schema.DATE
21);
22SHOW CREATE TABLE t1;
23Table	Create Table
24t1	CREATE TABLE `t1` (
25  `def_date` date DEFAULT NULL,
26  `mdb_date` date DEFAULT NULL,
27  `ora_date` datetime DEFAULT NULL,
28  `max_date` date DEFAULT NULL
29) ENGINE=MyISAM DEFAULT CHARSET=latin1
30SET sql_mode=ORACLE;
31SHOW CREATE TABLE t1;
32Table	Create Table
33t1	CREATE TABLE "t1" (
34  "def_date" mariadb_schema.date DEFAULT NULL,
35  "mdb_date" mariadb_schema.date DEFAULT NULL,
36  "ora_date" datetime DEFAULT NULL,
37  "max_date" mariadb_schema.date DEFAULT NULL
38)
39DROP TABLE t1;
40SET sql_mode=ORACLE;
41CREATE TABLE t1 (
42def_date DATE,
43mdb_date mariadb_schema.DATE,
44ora_date oracle_schema.DATE,
45max_date maxdb_schema.DATE
46);
47SHOW CREATE TABLE t1;
48Table	Create Table
49t1	CREATE TABLE "t1" (
50  "def_date" datetime DEFAULT NULL,
51  "mdb_date" mariadb_schema.date DEFAULT NULL,
52  "ora_date" datetime DEFAULT NULL,
53  "max_date" mariadb_schema.date DEFAULT NULL
54)
55SET sql_mode=DEFAULT;
56SHOW CREATE TABLE t1;
57Table	Create Table
58t1	CREATE TABLE `t1` (
59  `def_date` datetime DEFAULT NULL,
60  `mdb_date` date DEFAULT NULL,
61  `ora_date` datetime DEFAULT NULL,
62  `max_date` date DEFAULT NULL
63) ENGINE=MyISAM DEFAULT CHARSET=latin1
64DROP TABLE t1;
65#
66# ALTER..MODIFY and ALTER..CHANGE understand qualifiers
67#
68SET sql_mode=DEFAULT;
69CREATE TABLE t1 (a DATE);
70INSERT INTO t1 VALUES ('2001-01-01');
71SET sql_mode=ORACLE;
72SHOW CREATE TABLE t1;
73Table	Create Table
74t1	CREATE TABLE "t1" (
75  "a" mariadb_schema.date DEFAULT NULL
76)
77SELECT * FROM t1;
78a
792001-01-01
80ALTER TABLE t1 MODIFY a DATE;
81SHOW CREATE TABLE t1;
82Table	Create Table
83t1	CREATE TABLE "t1" (
84  "a" datetime DEFAULT NULL
85)
86SELECT * FROM t1;
87a
882001-01-01 00:00:00
89ALTER TABLE t1 MODIFY a mariadb_schema.DATE;
90SHOW CREATE TABLE t1;
91Table	Create Table
92t1	CREATE TABLE "t1" (
93  "a" mariadb_schema.date DEFAULT NULL
94)
95SELECT * FROM t1;
96a
972001-01-01
98ALTER TABLE t1 MODIFY a oracle_schema.DATE;
99SHOW CREATE TABLE t1;
100Table	Create Table
101t1	CREATE TABLE "t1" (
102  "a" datetime DEFAULT NULL
103)
104SELECT * FROM t1;
105a
1062001-01-01 00:00:00
107ALTER TABLE t1 CHANGE a b mariadb_schema.DATE;
108SHOW CREATE TABLE t1;
109Table	Create Table
110t1	CREATE TABLE "t1" (
111  "b" mariadb_schema.date DEFAULT NULL
112)
113SELECT * FROM t1;
114b
1152001-01-01
116ALTER TABLE t1 CHANGE b a oracle_schema.DATE;
117SHOW CREATE TABLE t1;
118Table	Create Table
119t1	CREATE TABLE "t1" (
120  "a" datetime DEFAULT NULL
121)
122SELECT * FROM t1;
123a
1242001-01-01 00:00:00
125DROP TABLE t1;
126#
127# Qualified syntax is not supported yet in SP
128# See MDEV-23353 Qualified data types in SP
129#
130SET sql_mode=ORACLE;
131CREATE FUNCTION f1() RETURN mariadb_schema.DATE AS
132BEGIN
133RETURN CURRENT_DATE;
134END;
135$$
136ERROR 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 'mariadb_schema.DATE AS
137BEGIN
138RETURN CURRENT_DATE;
139END' at line 1
140CREATE PROCEDURE p1(a mariadb_schema.DATE) AS
141BEGIN
142NULL;
143END;
144$$
145ERROR 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 ') AS
146BEGIN
147NULL;
148END' at line 1
149CREATE PROCEDURE p1() AS
150a mariadb_schema.DATE;
151BEGIN
152NULL;
153END;
154$$
155ERROR 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 ';
156BEGIN
157NULL;
158END' at line 2
159