61 changed files with 5496 additions and 604 deletions
-
2include/mysql_com.h
-
1166mysql-test/include/function_defaults.inc
-
94mysql-test/include/function_defaults_notembedded.inc
-
4mysql-test/r/create.result
-
3067mysql-test/r/function_defaults.result
-
171mysql-test/r/function_defaults_notembedded.result
-
2mysql-test/r/log_slow.result
-
16mysql-test/r/log_tables.result
-
4mysql-test/r/mysqldump.result
-
4mysql-test/r/system_mysql_db.result
-
4mysql-test/r/system_mysql_db_fix40123.result
-
4mysql-test/r/system_mysql_db_fix50030.result
-
4mysql-test/r/system_mysql_db_fix50117.result
-
10mysql-test/r/type_timestamp.result
-
8mysql-test/r/type_timestamp_hires.result
-
13mysql-test/std_data/onerow.xml
-
4mysql-test/suite/funcs_1/r/is_columns_mysql.result
-
132mysql-test/suite/rpl/r/rpl_function_defaults.result
-
93mysql-test/suite/rpl/t/rpl_function_defaults.test
-
4mysql-test/t/create.test
-
23mysql-test/t/function_defaults.test
-
18mysql-test/t/function_defaults_notembedded.test
-
11mysql-test/t/type_timestamp.test
-
5sql/event_db_repository.cc
-
208sql/field.cc
-
81sql/field.h
-
7sql/ha_ndbcluster.cc
-
22sql/ha_partition.cc
-
19sql/log_event.cc
-
36sql/log_event_old.cc
-
1sql/sp.cc
-
4sql/sp_head.cc
-
147sql/sql_base.cc
-
10sql/sql_base.h
-
10sql/sql_class.h
-
2sql/sql_expression_cache.cc
-
144sql/sql_insert.cc
-
62sql/sql_load.cc
-
25sql/sql_parse.cc
-
3sql/sql_partition.cc
-
2sql/sql_select.cc
-
63sql/sql_show.cc
-
18sql/sql_string.cc
-
1sql/sql_string.h
-
87sql/sql_table.cc
-
4sql/sql_table.h
-
2sql/sql_union.cc
-
46sql/sql_update.cc
-
8sql/sql_yacc.yy
-
140sql/table.cc
-
41sql/table.h
-
2storage/archive/ha_archive.cc
-
6storage/csv/ha_tina.cc
-
2storage/federated/ha_federated.cc
-
2storage/federatedx/ha_federatedx.cc
-
4storage/heap/ha_heap.cc
-
6storage/innobase/handler/ha_innodb.cc
-
6storage/maria/ha_maria.cc
-
6storage/myisam/ha_myisam.cc
-
4storage/myisammrg/ha_myisammrg.cc
-
6storage/xtradb/handler/ha_innodb.cc
1166
mysql-test/include/function_defaults.inc
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,94 @@ |
|||
SET TIME_ZONE = "+00:00"; |
|||
|
|||
--echo # |
|||
--echo # Test of INSERT DELAYED ... SET ... |
|||
--echo # |
|||
|
|||
--echo # 2011-04-19 08:02:40 UTC |
|||
SET TIMESTAMP = 1303200160.123456; |
|||
|
|||
eval CREATE TABLE t1 ( a INT, b $timestamp NOT NULL DEFAULT CURRENT_$timestamp ON UPDATE CURRENT_$timestamp); |
|||
|
|||
INSERT DELAYED INTO t1 SET a = 1; |
|||
FLUSH TABLE t1; |
|||
|
|||
SELECT * FROM t1; |
|||
SELECT * FROM t1 WHERE b = 0; |
|||
|
|||
INSERT DELAYED INTO t1 SET a = 2, b = '1980-01-02 10:20:30.405060'; |
|||
FLUSH TABLE t1; |
|||
|
|||
SELECT * FROM t1; |
|||
|
|||
DROP TABLE t1; |
|||
|
|||
--echo # |
|||
--echo # Test of INSERT DELAYED ... VALUES ... |
|||
--echo # |
|||
|
|||
--echo # 2011-04-19 08:04:01 UTC |
|||
SET TIMESTAMP = 1303200241.234567; |
|||
|
|||
eval CREATE TABLE t1 ( a INT, b $timestamp NOT NULL DEFAULT CURRENT_$timestamp ON UPDATE CURRENT_$timestamp); |
|||
|
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
|
|||
INSERT DELAYED INTO t1 VALUES (2, '1977-12-19 12:34:56.789123'); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
|
|||
DROP TABLE t1; |
|||
|
|||
--echo # |
|||
--echo # Test of a delayed insert handler servicing two insert operations |
|||
--echo # with different sets of active defaults. |
|||
--echo # |
|||
eval CREATE TABLE t1 ( a INT, b $timestamp NOT NULL DEFAULT CURRENT_$timestamp ON UPDATE CURRENT_$timestamp); |
|||
|
|||
--connect(con1, localhost, root,,) |
|||
--echo # 2011-04-19 08:04:01 UTC |
|||
SET TIMESTAMP = 1303200241.345678; |
|||
SET debug_sync = 'before_write_delayed SIGNAL parked WAIT_FOR go'; |
|||
--send INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3) |
|||
|
|||
--connection default |
|||
SET debug_sync = 'now WAIT_FOR parked'; |
|||
|
|||
--connect(con2, localhost, root,,) |
|||
--echo # 2011-04-19 08:04:01 UTC |
|||
SET TIME_ZONE="+03:00"; |
|||
SET TIMESTAMP = 1303200241.456789; |
|||
--send INSERT DELAYED INTO t1 ( a, b ) VALUES (4, '1977-12-19 12:34:56.789123'), (5, '1977-12-19 12:34:57.891234'), (6, '1977-12-19 12:34:58.912345') |
|||
|
|||
--connection default |
|||
SET debug_sync = 'now SIGNAL go'; |
|||
|
|||
--let $wait_condition= SELECT COUNT(*) = 6 FROM t1 |
|||
--source include/wait_condition.inc |
|||
|
|||
--sorted_result |
|||
SELECT * FROM t1; |
|||
|
|||
--disconnect con1 |
|||
--disconnect con2 |
|||
|
|||
DROP TABLE t1; |
|||
|
|||
--echo # |
|||
--echo # Test of early activation of function defaults. |
|||
--echo # |
|||
|
|||
eval CREATE TABLE t1 ( a INT, b $timestamp NOT NULL DEFAULT CURRENT_$timestamp ON UPDATE CURRENT_$timestamp); |
|||
|
|||
SET TIMESTAMP = 1317235172.987654; # 2011-09-28 18:39:32 UTC |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3); |
|||
|
|||
SET TIMESTAMP = 385503754.876543; # 1982-03-20 20:22:34 UTC |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (4), (5), (6); |
|||
|
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
|
|||
DROP TABLE t1; |
|||
3067
mysql-test/r/function_defaults.result
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,171 @@ |
|||
# |
|||
# Test of function defaults for non-embedded server. |
|||
# |
|||
# |
|||
# Function defaults run 1. No microsecond precision. |
|||
# |
|||
SET TIME_ZONE = "+00:00"; |
|||
# |
|||
# Test of INSERT DELAYED ... SET ... |
|||
# |
|||
# 2011-04-19 08:02:40 UTC |
|||
SET TIMESTAMP = 1303200160.123456; |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); |
|||
INSERT DELAYED INTO t1 SET a = 1; |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:02:40 |
|||
SELECT * FROM t1 WHERE b = 0; |
|||
a b |
|||
INSERT DELAYED INTO t1 SET a = 2, b = '1980-01-02 10:20:30.405060'; |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:02:40 |
|||
2 1980-01-02 10:20:30 |
|||
DROP TABLE t1; |
|||
# |
|||
# Test of INSERT DELAYED ... VALUES ... |
|||
# |
|||
# 2011-04-19 08:04:01 UTC |
|||
SET TIMESTAMP = 1303200241.234567; |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:04:01 |
|||
INSERT DELAYED INTO t1 VALUES (2, '1977-12-19 12:34:56.789123'); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:04:01 |
|||
2 1977-12-19 12:34:56 |
|||
DROP TABLE t1; |
|||
# |
|||
# Test of a delayed insert handler servicing two insert operations |
|||
# with different sets of active defaults. |
|||
# |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); |
|||
# 2011-04-19 08:04:01 UTC |
|||
SET TIMESTAMP = 1303200241.345678; |
|||
SET debug_sync = 'before_write_delayed SIGNAL parked WAIT_FOR go'; |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3); |
|||
SET debug_sync = 'now WAIT_FOR parked'; |
|||
# 2011-04-19 08:04:01 UTC |
|||
SET TIME_ZONE="+03:00"; |
|||
SET TIMESTAMP = 1303200241.456789; |
|||
INSERT DELAYED INTO t1 ( a, b ) VALUES (4, '1977-12-19 12:34:56.789123'), (5, '1977-12-19 12:34:57.891234'), (6, '1977-12-19 12:34:58.912345'); |
|||
SET debug_sync = 'now SIGNAL go'; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:04:01 |
|||
2 2011-04-19 08:04:01 |
|||
3 2011-04-19 08:04:01 |
|||
4 1977-12-19 09:34:56 |
|||
5 1977-12-19 09:34:57 |
|||
6 1977-12-19 09:34:58 |
|||
DROP TABLE t1; |
|||
# |
|||
# Test of early activation of function defaults. |
|||
# |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); |
|||
SET TIMESTAMP = 1317235172.987654; |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3); |
|||
SET TIMESTAMP = 385503754.876543; |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (4), (5), (6); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-09-28 18:39:32 |
|||
2 2011-09-28 18:39:32 |
|||
3 2011-09-28 18:39:32 |
|||
4 1982-03-20 20:22:34 |
|||
5 1982-03-20 20:22:34 |
|||
6 1982-03-20 20:22:34 |
|||
DROP TABLE t1; |
|||
# |
|||
# Function defaults run 2. Six digits scale on seconds precision. |
|||
# |
|||
SET TIME_ZONE = "+00:00"; |
|||
# |
|||
# Test of INSERT DELAYED ... SET ... |
|||
# |
|||
# 2011-04-19 08:02:40 UTC |
|||
SET TIMESTAMP = 1303200160.123456; |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)); |
|||
INSERT DELAYED INTO t1 SET a = 1; |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:02:40.123456 |
|||
SELECT * FROM t1 WHERE b = 0; |
|||
a b |
|||
INSERT DELAYED INTO t1 SET a = 2, b = '1980-01-02 10:20:30.405060'; |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:02:40.123456 |
|||
2 1980-01-02 10:20:30.405060 |
|||
DROP TABLE t1; |
|||
# |
|||
# Test of INSERT DELAYED ... VALUES ... |
|||
# |
|||
# 2011-04-19 08:04:01 UTC |
|||
SET TIMESTAMP = 1303200241.234567; |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)); |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:04:01.234567 |
|||
INSERT DELAYED INTO t1 VALUES (2, '1977-12-19 12:34:56.789123'); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:04:01.234567 |
|||
2 1977-12-19 12:34:56.789123 |
|||
DROP TABLE t1; |
|||
# |
|||
# Test of a delayed insert handler servicing two insert operations |
|||
# with different sets of active defaults. |
|||
# |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)); |
|||
# 2011-04-19 08:04:01 UTC |
|||
SET TIMESTAMP = 1303200241.345678; |
|||
SET debug_sync = 'before_write_delayed SIGNAL parked WAIT_FOR go'; |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3); |
|||
SET debug_sync = 'now WAIT_FOR parked'; |
|||
# 2011-04-19 08:04:01 UTC |
|||
SET TIME_ZONE="+03:00"; |
|||
SET TIMESTAMP = 1303200241.456789; |
|||
INSERT DELAYED INTO t1 ( a, b ) VALUES (4, '1977-12-19 12:34:56.789123'), (5, '1977-12-19 12:34:57.891234'), (6, '1977-12-19 12:34:58.912345'); |
|||
SET debug_sync = 'now SIGNAL go'; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-04-19 08:04:01.345678 |
|||
2 2011-04-19 08:04:01.345678 |
|||
3 2011-04-19 08:04:01.345678 |
|||
4 1977-12-19 09:34:56.789123 |
|||
5 1977-12-19 09:34:57.891234 |
|||
6 1977-12-19 09:34:58.912345 |
|||
DROP TABLE t1; |
|||
# |
|||
# Test of early activation of function defaults. |
|||
# |
|||
CREATE TABLE t1 ( a INT, b TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)); |
|||
SET TIMESTAMP = 1317235172.987654; |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (1), (2), (3); |
|||
SET TIMESTAMP = 385503754.876543; |
|||
INSERT DELAYED INTO t1 ( a ) VALUES (4), (5), (6); |
|||
FLUSH TABLE t1; |
|||
SELECT * FROM t1; |
|||
a b |
|||
1 2011-09-28 18:39:32.987654 |
|||
2 2011-09-28 18:39:32.987654 |
|||
3 2011-09-28 18:39:32.987654 |
|||
4 1982-03-20 20:22:34.876543 |
|||
5 1982-03-20 20:22:34.876543 |
|||
6 1982-03-20 20:22:34.876543 |
|||
DROP TABLE t1; |
|||
@ -0,0 +1,13 @@ |
|||
<?xml version="1.0"?> |
|||
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
|||
<database name="test"> |
|||
<table_structure name="onerow"> |
|||
<field Field="a" Type="int(11)" Null="YES" Key="" Extra="" /> |
|||
</table_structure> |
|||
<table_data name="onerow"> |
|||
<row> |
|||
<field name="a">1</field> |
|||
</row> |
|||
</table_data> |
|||
</database> |
|||
</mysqldump> |
|||
@ -0,0 +1,132 @@ |
|||
# |
|||
# Test of function defaults on replicated tables. |
|||
# |
|||
include/master-slave.inc |
|||
[connection master] |
|||
connection master |
|||
SET TIME_ZONE="+10:30"; |
|||
SET TIMESTAMP=123456.789123; |
|||
SELECT CURRENT_TIMESTAMP; |
|||
CURRENT_TIMESTAMP |
|||
1970-01-02 20:47:36 |
|||
connection slave |
|||
SET TIME_ZONE="+00:00"; |
|||
SET TIMESTAMP=987654321.123456; |
|||
SELECT CURRENT_TIMESTAMP; |
|||
CURRENT_TIMESTAMP |
|||
2001-04-19 04:25:21 |
|||
connection master |
|||
CREATE TABLE t1 ( |
|||
a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|||
b TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1), |
|||
c TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2), |
|||
d TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), |
|||
e TIMESTAMP(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4), |
|||
f TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5), |
|||
g TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), |
|||
h DATETIME DEFAULT CURRENT_TIMESTAMP, |
|||
i DATETIME(1) DEFAULT CURRENT_TIMESTAMP(1), |
|||
j DATETIME(2) DEFAULT CURRENT_TIMESTAMP(2), |
|||
k DATETIME(3) DEFAULT CURRENT_TIMESTAMP(3), |
|||
l DATETIME(4) DEFAULT CURRENT_TIMESTAMP(4), |
|||
m DATETIME(5) DEFAULT CURRENT_TIMESTAMP(5), |
|||
n DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6), |
|||
o INT |
|||
); |
|||
INSERT INTO t1 ( o ) VALUES ( 1 ); |
|||
CREATE TABLE t2 ( |
|||
a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, |
|||
b TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(1), |
|||
c TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(2), |
|||
d TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(3), |
|||
e TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(4), |
|||
f TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(5), |
|||
g TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(6), |
|||
h DATETIME ON UPDATE CURRENT_TIMESTAMP, |
|||
i DATETIME(1) ON UPDATE CURRENT_TIMESTAMP(1), |
|||
j DATETIME(2) ON UPDATE CURRENT_TIMESTAMP(2), |
|||
k DATETIME(3) ON UPDATE CURRENT_TIMESTAMP(3), |
|||
l DATETIME(4) ON UPDATE CURRENT_TIMESTAMP(4), |
|||
m DATETIME(5) ON UPDATE CURRENT_TIMESTAMP(5), |
|||
n DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6), |
|||
o INT |
|||
); |
|||
INSERT INTO t2 ( o ) VALUES ( 1 ); |
|||
sync_slave_with_master |
|||
connection slave |
|||
SELECT * FROM t1; |
|||
a 1970-01-02 10:17:36 |
|||
b 1970-01-02 10:17:36.7 |
|||
c 1970-01-02 10:17:36.78 |
|||
d 1970-01-02 10:17:36.789 |
|||
e 1970-01-02 10:17:36.7891 |
|||
f 1970-01-02 10:17:36.78912 |
|||
g 1970-01-02 10:17:36.789123 |
|||
h 1970-01-02 20:47:36 |
|||
i 1970-01-02 20:47:36.7 |
|||
j 1970-01-02 20:47:36.78 |
|||
k 1970-01-02 20:47:36.789 |
|||
l 1970-01-02 20:47:36.7891 |
|||
m 1970-01-02 20:47:36.78912 |
|||
n 1970-01-02 20:47:36.789123 |
|||
o 1 |
|||
SELECT * FROM t2; |
|||
a 0000-00-00 00:00:00 |
|||
b 0000-00-00 00:00:00.0 |
|||
c 0000-00-00 00:00:00.00 |
|||
d 0000-00-00 00:00:00.000 |
|||
e 0000-00-00 00:00:00.0000 |
|||
f 0000-00-00 00:00:00.00000 |
|||
g 0000-00-00 00:00:00.000000 |
|||
h NULL |
|||
i NULL |
|||
j NULL |
|||
k NULL |
|||
l NULL |
|||
m NULL |
|||
n NULL |
|||
o 1 |
|||
connection master |
|||
SET TIMESTAMP=1234567890.123456; |
|||
SELECT CURRENT_TIMESTAMP; |
|||
CURRENT_TIMESTAMP |
|||
2009-02-14 10:01:30 |
|||
UPDATE t1 SET o = 2; |
|||
UPDATE t2 SET o = 2; |
|||
sync_slave_with_master |
|||
connection slave |
|||
SELECT * FROM t1; |
|||
a 1970-01-02 10:17:36 |
|||
b 1970-01-02 10:17:36.7 |
|||
c 1970-01-02 10:17:36.78 |
|||
d 1970-01-02 10:17:36.789 |
|||
e 1970-01-02 10:17:36.7891 |
|||
f 1970-01-02 10:17:36.78912 |
|||
g 1970-01-02 10:17:36.789123 |
|||
h 1970-01-02 20:47:36 |
|||
i 1970-01-02 20:47:36.7 |
|||
j 1970-01-02 20:47:36.78 |
|||
k 1970-01-02 20:47:36.789 |
|||
l 1970-01-02 20:47:36.7891 |
|||
m 1970-01-02 20:47:36.78912 |
|||
n 1970-01-02 20:47:36.789123 |
|||
o 2 |
|||
SELECT * FROM t2; |
|||
a 2009-02-13 23:31:30 |
|||
b 2009-02-13 23:31:30.1 |
|||
c 2009-02-13 23:31:30.12 |
|||
d 2009-02-13 23:31:30.123 |
|||
e 2009-02-13 23:31:30.1234 |
|||
f 2009-02-13 23:31:30.12345 |
|||
g 2009-02-13 23:31:30.123456 |
|||
h 2009-02-14 10:01:30 |
|||
i 2009-02-14 10:01:30.1 |
|||
j 2009-02-14 10:01:30.12 |
|||
k 2009-02-14 10:01:30.123 |
|||
l 2009-02-14 10:01:30.1234 |
|||
m 2009-02-14 10:01:30.12345 |
|||
n 2009-02-14 10:01:30.123456 |
|||
o 2 |
|||
connection master |
|||
DROP TABLE t1, t2; |
|||
include/rpl_end.inc |
|||
@ -0,0 +1,93 @@ |
|||
--echo # |
|||
--echo # Test of function defaults on replicated tables. |
|||
--echo # |
|||
|
|||
source include/master-slave.inc; |
|||
|
|||
--echo connection master |
|||
connection master; |
|||
SET TIME_ZONE="+10:30"; |
|||
SET TIMESTAMP=123456.789123; |
|||
SELECT CURRENT_TIMESTAMP; |
|||
|
|||
--echo connection slave |
|||
connection slave; |
|||
SET TIME_ZONE="+00:00"; |
|||
SET TIMESTAMP=987654321.123456; |
|||
SELECT CURRENT_TIMESTAMP; |
|||
|
|||
--echo connection master |
|||
connection master; |
|||
CREATE TABLE t1 ( |
|||
a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|||
b TIMESTAMP(1) NOT NULL DEFAULT CURRENT_TIMESTAMP(1), |
|||
c TIMESTAMP(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2), |
|||
d TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), |
|||
e TIMESTAMP(4) NOT NULL DEFAULT CURRENT_TIMESTAMP(4), |
|||
f TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5), |
|||
g TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), |
|||
h DATETIME DEFAULT CURRENT_TIMESTAMP, |
|||
i DATETIME(1) DEFAULT CURRENT_TIMESTAMP(1), |
|||
j DATETIME(2) DEFAULT CURRENT_TIMESTAMP(2), |
|||
k DATETIME(3) DEFAULT CURRENT_TIMESTAMP(3), |
|||
l DATETIME(4) DEFAULT CURRENT_TIMESTAMP(4), |
|||
m DATETIME(5) DEFAULT CURRENT_TIMESTAMP(5), |
|||
n DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6), |
|||
o INT |
|||
); |
|||
|
|||
INSERT INTO t1 ( o ) VALUES ( 1 ); |
|||
|
|||
CREATE TABLE t2 ( |
|||
a TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, |
|||
b TIMESTAMP(1) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(1), |
|||
c TIMESTAMP(2) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(2), |
|||
d TIMESTAMP(3) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(3), |
|||
e TIMESTAMP(4) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(4), |
|||
f TIMESTAMP(5) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(5), |
|||
g TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP(6), |
|||
h DATETIME ON UPDATE CURRENT_TIMESTAMP, |
|||
i DATETIME(1) ON UPDATE CURRENT_TIMESTAMP(1), |
|||
j DATETIME(2) ON UPDATE CURRENT_TIMESTAMP(2), |
|||
k DATETIME(3) ON UPDATE CURRENT_TIMESTAMP(3), |
|||
l DATETIME(4) ON UPDATE CURRENT_TIMESTAMP(4), |
|||
m DATETIME(5) ON UPDATE CURRENT_TIMESTAMP(5), |
|||
n DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6), |
|||
o INT |
|||
); |
|||
|
|||
INSERT INTO t2 ( o ) VALUES ( 1 ); |
|||
|
|||
--echo sync_slave_with_master |
|||
sync_slave_with_master; |
|||
|
|||
--echo connection slave |
|||
connection slave; |
|||
|
|||
query_vertical SELECT * FROM t1; |
|||
query_vertical SELECT * FROM t2; |
|||
|
|||
--echo connection master |
|||
connection master; |
|||
|
|||
SET TIMESTAMP=1234567890.123456; |
|||
SELECT CURRENT_TIMESTAMP; |
|||
|
|||
UPDATE t1 SET o = 2; |
|||
UPDATE t2 SET o = 2; |
|||
|
|||
--echo sync_slave_with_master |
|||
sync_slave_with_master; |
|||
|
|||
--echo connection slave |
|||
connection slave; |
|||
|
|||
query_vertical SELECT * FROM t1; |
|||
query_vertical SELECT * FROM t2; |
|||
|
|||
--echo connection master |
|||
connection master; |
|||
|
|||
DROP TABLE t1, t2; |
|||
|
|||
--source include/rpl_end.inc |
|||
@ -0,0 +1,23 @@ |
|||
--echo # |
|||
--echo # Test of function defaults for any server, including embedded. |
|||
--echo # |
|||
|
|||
--source include/have_innodb.inc |
|||
|
|||
--echo # |
|||
--echo # Function defaults run 1. No microsecond precision. |
|||
--echo # |
|||
let $current_timestamp=CURRENT_TIMESTAMP; |
|||
let $now=NOW(); |
|||
let $timestamp=TIMESTAMP; |
|||
let $datetime=DATETIME; |
|||
source 'include/function_defaults.inc'; |
|||
|
|||
--echo # |
|||
--echo # Function defaults run 2. Six digits scale on seconds precision. |
|||
--echo # |
|||
let $current_timestamp=CURRENT_TIMESTAMP(6); |
|||
let $now=NOW(6); |
|||
let $timestamp=TIMESTAMP(6); |
|||
let $datetime=DATETIME(6); |
|||
source 'include/function_defaults.inc'; |
|||
@ -0,0 +1,18 @@ |
|||
--echo # |
|||
--echo # Test of function defaults for non-embedded server. |
|||
--echo # |
|||
|
|||
--source include/not_embedded.inc |
|||
--source include/have_debug_sync.inc |
|||
|
|||
--echo # |
|||
--echo # Function defaults run 1. No microsecond precision. |
|||
--echo # |
|||
let $timestamp=TIMESTAMP; |
|||
--source include/function_defaults_notembedded.inc |
|||
|
|||
--echo # |
|||
--echo # Function defaults run 2. Six digits scale on seconds precision. |
|||
--echo # |
|||
let $timestamp=TIMESTAMP(6); |
|||
--source include/function_defaults_notembedded.inc |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue