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

Merge branch '10.3' into 10.4

This commit is contained in:
Oleksandr Byelkin
2020-08-03 14:44:06 +02:00
134 changed files with 2307 additions and 521 deletions

View File

@ -0,0 +1,86 @@
include/master-slave.inc
[connection master]
SET SQL_MODE=DEFAULT;
CREATE TABLE t1 (a DATE);
INSERT INTO t1 VALUES (NULL);
INSERT INTO t1 VALUES ('2001-01-01');
SET SQL_MODE= ORACLE;
CREATE TABLE t2 SELECT * FROM t1;
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a DATE)
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (NULL)
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES ('2001-01-01')
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE "t2" (
"a" mariadb_schema.date DEFAULT NULL
)
master-bin.000001 # Annotate_rows # # CREATE TABLE t2 SELECT * FROM t1
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
SET SQL_MODE= DEFAULT;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SET SQL_MODE= ORACLE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" mariadb_schema.date DEFAULT NULL
)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE "t2" (
"a" mariadb_schema.date DEFAULT NULL
)
connection slave;
SELECT * FROM t1;
a
NULL
2001-01-01
SELECT * FROM t2;
a
NULL
2001-01-01
SET SQL_MODE= DEFAULT;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SET SQL_MODE= ORACLE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" mariadb_schema.date DEFAULT NULL
)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE "t2" (
"a" mariadb_schema.date DEFAULT NULL
)
connection master;
DROP TABLE t1, t2;
include/rpl_end.inc

View File

@ -6,3 +6,153 @@ t1 CREATE TABLE "t1" (
"a" datetime DEFAULT NULL
)
DROP TABLE t1;
#
# MDEV-19632 Replication aborts with ER_SLAVE_CONVERSION_FAILED upon CREATE ... SELECT in ORACLE mode
#
SET sql_mode=DEFAULT;
CREATE TABLE t1 (a unknown.DATE);
ERROR HY000: Unknown data type: 'unknown.date'
SET sql_mode=DEFAULT;
CREATE TABLE t1 (
def_date DATE,
mdb_date mariadb_schema.DATE,
ora_date oracle_schema.DATE,
max_date maxdb_schema.DATE
);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`def_date` date DEFAULT NULL,
`mdb_date` date DEFAULT NULL,
`ora_date` datetime DEFAULT NULL,
`max_date` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SET sql_mode=ORACLE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"def_date" mariadb_schema.date DEFAULT NULL,
"mdb_date" mariadb_schema.date DEFAULT NULL,
"ora_date" datetime DEFAULT NULL,
"max_date" mariadb_schema.date DEFAULT NULL
)
DROP TABLE t1;
SET sql_mode=ORACLE;
CREATE TABLE t1 (
def_date DATE,
mdb_date mariadb_schema.DATE,
ora_date oracle_schema.DATE,
max_date maxdb_schema.DATE
);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"def_date" datetime DEFAULT NULL,
"mdb_date" mariadb_schema.date DEFAULT NULL,
"ora_date" datetime DEFAULT NULL,
"max_date" mariadb_schema.date DEFAULT NULL
)
SET sql_mode=DEFAULT;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`def_date` datetime DEFAULT NULL,
`mdb_date` date DEFAULT NULL,
`ora_date` datetime DEFAULT NULL,
`max_date` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
# ALTER..MODIFY and ALTER..CHANGE understand qualifiers
#
SET sql_mode=DEFAULT;
CREATE TABLE t1 (a DATE);
INSERT INTO t1 VALUES ('2001-01-01');
SET sql_mode=ORACLE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" mariadb_schema.date DEFAULT NULL
)
SELECT * FROM t1;
a
2001-01-01
ALTER TABLE t1 MODIFY a DATE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" datetime DEFAULT NULL
)
SELECT * FROM t1;
a
2001-01-01 00:00:00
ALTER TABLE t1 MODIFY a mariadb_schema.DATE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" mariadb_schema.date DEFAULT NULL
)
SELECT * FROM t1;
a
2001-01-01
ALTER TABLE t1 MODIFY a oracle_schema.DATE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" datetime DEFAULT NULL
)
SELECT * FROM t1;
a
2001-01-01 00:00:00
ALTER TABLE t1 CHANGE a b mariadb_schema.DATE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"b" mariadb_schema.date DEFAULT NULL
)
SELECT * FROM t1;
b
2001-01-01
ALTER TABLE t1 CHANGE b a oracle_schema.DATE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"a" datetime DEFAULT NULL
)
SELECT * FROM t1;
a
2001-01-01 00:00:00
DROP TABLE t1;
#
# Qualified syntax is not supported yet in SP
# See MDEV-23353 Qualified data types in SP
#
SET sql_mode=ORACLE;
CREATE FUNCTION f1() RETURN mariadb_schema.DATE AS
BEGIN
RETURN CURRENT_DATE;
END;
$$
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 'mariadb_schema.DATE AS
BEGIN
RETURN CURRENT_DATE;
END' at line 1
CREATE PROCEDURE p1(a mariadb_schema.DATE) AS
BEGIN
NULL;
END;
$$
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 ') AS
BEGIN
NULL;
END' at line 1
CREATE PROCEDURE p1() AS
a mariadb_schema.DATE;
BEGIN
NULL;
END;
$$
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 ';
BEGIN
NULL;
END' at line 2