mirror of
https://github.com/MariaDB/server.git
synced 2025-05-10 02:01:19 +03:00
sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
121 lines
3.4 KiB
Plaintext
121 lines
3.4 KiB
Plaintext
include/master-slave.inc
|
|
[connection master]
|
|
DROP DATABASE IF EXISTS mysqltest;
|
|
CREATE DATABASE IF NOT EXISTS mysqltest;
|
|
USE mysqltest;
|
|
CREATE TABLE IF NOT EXISTS t(c1 int);
|
|
CREATE TABLE IF NOT EXISTS t1 LIKE t;
|
|
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
|
|
CREATE EVENT IF NOT EXISTS e
|
|
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
|
DO SELECT now();
|
|
DROP DATABASE mysqltest;
|
|
CREATE DATABASE IF NOT EXISTS mysqltest;
|
|
USE mysqltest;
|
|
CREATE TABLE IF NOT EXISTS t(c1 int);
|
|
CREATE TABLE IF NOT EXISTS t1 LIKE t;
|
|
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
|
|
CREATE EVENT IF NOT EXISTS e
|
|
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
|
DO SELECT now();
|
|
SHOW TABLES in mysqltest;
|
|
Tables_in_mysqltest
|
|
t
|
|
t1
|
|
SHOW EVENTS in mysqltest;
|
|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
|
mysqltest e root@localhost SYSTEM ONE TIME # NULL NULL NULL NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
|
DROP DATABASE IF EXISTS mysqltest;
|
|
-------------BUG#47418-------------
|
|
USE test;
|
|
DROP TABLE IF EXISTS t3;
|
|
CREATE TABLE t3(c1 INTEGER);
|
|
INSERT INTO t3 VALUES(33);
|
|
CREATE TEMPORARY TABLE t1(c1 INTEGER);
|
|
CREATE TEMPORARY TABLE t2(c1 INTEGER);
|
|
INSERT INTO t1 VALUES(1);
|
|
INSERT INTO t2 VALUES(1);
|
|
CREATE TABLE IF NOT EXISTS t1(c1 INTEGER) SELECT c1 FROM t3;
|
|
CREATE TABLE t2(c1 INTEGER) SELECT c1 FROM t3;
|
|
SELECT * FROM t1;
|
|
c1
|
|
1
|
|
SELECT * FROM t2;
|
|
c1
|
|
1
|
|
SELECT * FROM t1;
|
|
c1
|
|
33
|
|
SELECT * FROM t2;
|
|
c1
|
|
33
|
|
DROP TEMPORARY TABLE t1;
|
|
DROP TEMPORARY TABLE t2;
|
|
SELECT * FROM t1;
|
|
c1
|
|
33
|
|
SELECT * FROM t2;
|
|
c1
|
|
33
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
DROP TABLE t3;
|
|
# WL#5370
|
|
# The behavior of statement 'CREATE TABLE SELECT IF NOT EXISTS' is changed.
|
|
# After the worklog, it will insert nothing and the statement will not be
|
|
# binlogged if the table already exists.
|
|
# After the worklog, some bugs will disappear automotically.
|
|
include/rpl_reset.inc
|
|
|
|
# Case 1: BUG#47132
|
|
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
|
|
CREATE TABLE t1 (id int);
|
|
CREATE TABLE t2 (id int);
|
|
INSERT INTO t1 VALUES (1), (1);
|
|
INSERT INTO t2 VALUES (2), (2);
|
|
CREATE VIEW v1 AS SELECT id FROM t2;
|
|
CREATE TABLE IF NOT EXISTS v1(a int, b int) SELECT id, id as di FROM t1;
|
|
Warnings:
|
|
Note 1050 Table 'v1' already exists
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
SHOW CREATE TABLE v1;
|
|
View Create View character_set_client collation_connection
|
|
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t2`.`id` AS `id` from `t2` latin1 latin1_swedish_ci
|
|
SELECT * FROM t2;
|
|
id
|
|
2
|
|
2
|
|
SELECT * FROM v1;
|
|
id
|
|
2
|
|
2
|
|
DROP VIEW v1;
|
|
CREATE TEMPORARY TABLE tt1 AS SELECT id FROM t2;
|
|
CREATE TEMPORARY TABLE IF NOT EXISTS tt1(a int, b int) SELECT id, id FROM t1;
|
|
Warnings:
|
|
Note 1050 Table 'tt1' already exists
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
SELECT * FROM t2;
|
|
id
|
|
2
|
|
2
|
|
SELECT * FROM tt1;
|
|
id
|
|
2
|
|
2
|
|
DROP TEMPORARY TABLE tt1;
|
|
|
|
# Case 1: BUG#47132
|
|
# RBR breaks on CREATE TABLE IF EXISTS <existing VIEW> AS SELECT
|
|
CREATE VIEW v1 AS SELECT 1 as a;
|
|
CREATE TABLE IF NOT EXISTS v1 SELECT 2 as a;
|
|
Warnings:
|
|
Note 1050 Table 'v1' already exists
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
DROP VIEW v1;
|
|
DROP TABLE t1, t2;
|
|
include/rpl_end.inc
|