1--source include/not_embedded.inc
2--source include/have_binlog_format_statement.inc
3
4--disable_query_log
5reset master; # get rid of previous tests binlog
6--enable_query_log
7
8SET sql_mode=ORACLE;
9
10--echo #
11--echo # MDEV-10801 sql_mode: dynamic SQL placeholders
12--echo #
13
14CREATE TABLE t1 (a INT, b INT);
15SET @a=10, @b=20;
16PREPARE stmt FROM 'INSERT INTO t1 VALUES (?,?)';
17EXECUTE stmt USING @a, @b;
18PREPARE stmt FROM 'INSERT INTO t1 VALUES (:a,:b)';
19EXECUTE stmt USING @a, @b;
20PREPARE stmt FROM 'INSERT INTO t1 VALUES (:aaa,:bbb)';
21EXECUTE stmt USING @a, @b;
22PREPARE stmt FROM 'INSERT INTO t1 VALUES (:"a",:"b")';
23EXECUTE stmt USING @a, @b;
24PREPARE stmt FROM 'INSERT INTO t1 VALUES (:"aaa",:"bbb")';
25EXECUTE stmt USING @a, @b;
26PREPARE stmt FROM 'INSERT INTO t1 VALUES (:1,:2)';
27EXECUTE stmt USING @a, @b;
28PREPARE stmt FROM 'INSERT INTO t1 VALUES (:222,:111)';
29EXECUTE stmt USING @a, @b;
30PREPARE stmt FROM 'INSERT INTO t1 VALUES (:0,:65535)';
31EXECUTE stmt USING @a, @b;
32PREPARE stmt FROM 'INSERT INTO t1 VALUES (:65535,:0)';
33EXECUTE stmt USING @a, @b;
34SELECT * FROM t1;
35--let $binlog_file = LAST
36source include/show_binlog_events.inc;
37DROP TABLE t1;
38
39
40--echo #
41--echo # MDEV-16095 Oracle-style placeholder inside GROUP BY..WITH ROLLUP breaks replication
42--echo #
43
44FLUSH LOGS;
45CREATE TABLE t1 (d DATE);
46INSERT INTO t1 VALUES ('1985-05-13'),('1989-12-24');
47CREATE TABLE t2 (d DATE, c BIGINT);
48DELIMITER $$;
49BEGIN
50  EXECUTE IMMEDIATE 'INSERT INTO t2 SELECT d, COUNT(*) FROM t1 GROUP BY d, :param' USING 1;
51  EXECUTE IMMEDIATE 'INSERT INTO t2 SELECT d, COUNT(*) FROM t1 GROUP BY d, :param WITH ROLLUP' USING 1;
52END;
53$$
54DELIMITER ;$$
55DROP TABLE t1,t2;
56--let $binlog_file = LAST
57source include/show_binlog_events.inc;
58