1#
2# Test of function defaults on replicated tables.
3#
4include/master-slave.inc
5[connection master]
6connection master;
7SET TIME_ZONE="+10:30";
8SET TIMESTAMP=123456.789123;
9SELECT CURRENT_TIMESTAMP;
10CURRENT_TIMESTAMP
111970-01-02 20:47:36
12connection slave;
13SET TIME_ZONE="+00:00";
14SET TIMESTAMP=987654321.123456;
15SELECT CURRENT_TIMESTAMP;
16CURRENT_TIMESTAMP
172001-04-19 04:25:21
18connection master;
19CREATE TABLE t1 (
20a TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
21b TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1),
22c TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2),
23d TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
24e TIMESTAMP(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4),
25f TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5),
26g TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
27h DATETIME     DEFAULT CURRENT_TIMESTAMP,
28i DATETIME(1)  DEFAULT CURRENT_TIMESTAMP(1),
29j DATETIME(2)  DEFAULT CURRENT_TIMESTAMP(2),
30k DATETIME(3)  DEFAULT CURRENT_TIMESTAMP(3),
31l DATETIME(4)  DEFAULT CURRENT_TIMESTAMP(4),
32m DATETIME(5)  DEFAULT CURRENT_TIMESTAMP(5),
33n DATETIME(6)  DEFAULT CURRENT_TIMESTAMP(6),
34o INT
35);
36INSERT INTO t1 ( o ) VALUES ( 1 );
37CREATE TABLE t2 (
38a TIMESTAMP    NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
39b TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(1),
40c TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(2),
41d TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(3),
42e TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(4),
43f TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(5),
44g TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(6),
45h DATETIME     ON UPDATE CURRENT_TIMESTAMP,
46i DATETIME(1)  ON UPDATE CURRENT_TIMESTAMP(1),
47j DATETIME(2)  ON UPDATE CURRENT_TIMESTAMP(2),
48k DATETIME(3)  ON UPDATE CURRENT_TIMESTAMP(3),
49l DATETIME(4)  ON UPDATE CURRENT_TIMESTAMP(4),
50m DATETIME(5)  ON UPDATE CURRENT_TIMESTAMP(5),
51n DATETIME(6)  ON UPDATE CURRENT_TIMESTAMP(6),
52o INT
53);
54INSERT INTO t2 ( o ) VALUES ( 1 );
55sync_slave_with_master
56connection slave;
57connection slave;
58SELECT * FROM t1;
59a	1970-01-02 10:17:36
60b	1970-01-02 10:17:36.7
61c	1970-01-02 10:17:36.78
62d	1970-01-02 10:17:36.789
63e	1970-01-02 10:17:36.7891
64f	1970-01-02 10:17:36.78912
65g	1970-01-02 10:17:36.789123
66h	1970-01-02 20:47:36
67i	1970-01-02 20:47:36.7
68j	1970-01-02 20:47:36.78
69k	1970-01-02 20:47:36.789
70l	1970-01-02 20:47:36.7891
71m	1970-01-02 20:47:36.78912
72n	1970-01-02 20:47:36.789123
73o	1
74SELECT * FROM t2;
75a	0000-00-00 00:00:00
76b	0000-00-00 00:00:00.0
77c	0000-00-00 00:00:00.00
78d	0000-00-00 00:00:00.000
79e	0000-00-00 00:00:00.0000
80f	0000-00-00 00:00:00.00000
81g	0000-00-00 00:00:00.000000
82h	NULL
83i	NULL
84j	NULL
85k	NULL
86l	NULL
87m	NULL
88n	NULL
89o	1
90connection master;
91SET TIMESTAMP=1234567890.123456;
92SELECT CURRENT_TIMESTAMP;
93CURRENT_TIMESTAMP
942009-02-14 10:01:30
95UPDATE t1 SET o = 2;
96UPDATE t2 SET o = 2;
97sync_slave_with_master
98connection slave;
99connection slave;
100SELECT * FROM t1;
101a	1970-01-02 10:17:36
102b	1970-01-02 10:17:36.7
103c	1970-01-02 10:17:36.78
104d	1970-01-02 10:17:36.789
105e	1970-01-02 10:17:36.7891
106f	1970-01-02 10:17:36.78912
107g	1970-01-02 10:17:36.789123
108h	1970-01-02 20:47:36
109i	1970-01-02 20:47:36.7
110j	1970-01-02 20:47:36.78
111k	1970-01-02 20:47:36.789
112l	1970-01-02 20:47:36.7891
113m	1970-01-02 20:47:36.78912
114n	1970-01-02 20:47:36.789123
115o	2
116SELECT * FROM t2;
117a	2009-02-13 23:31:30
118b	2009-02-13 23:31:30.1
119c	2009-02-13 23:31:30.12
120d	2009-02-13 23:31:30.123
121e	2009-02-13 23:31:30.1234
122f	2009-02-13 23:31:30.12345
123g	2009-02-13 23:31:30.123456
124h	2009-02-14 10:01:30
125i	2009-02-14 10:01:30.1
126j	2009-02-14 10:01:30.12
127k	2009-02-14 10:01:30.123
128l	2009-02-14 10:01:30.1234
129m	2009-02-14 10:01:30.12345
130n	2009-02-14 10:01:30.123456
131o	2
132connection master;
133DROP TABLE t1, t2;
134include/rpl_end.inc
135