--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
SET sql_mode='NO_ENGINE_SUBSTITUTION';
# Set Correct timezone to match result
SET TIME_ZONE="+03:00";
CREATE TABLE t1(c1 DATE NOT NULL, c2 DATE NULL, c3 DATE NULL, PRIMARY KEY(c1), UNIQUE(c2));
SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 YEAR NOT NULL, c2 YEAR NULL, c3 YEAR NULL, PRIMARY KEY(c1), UNIQUE(c2));
INSERT INTO t1 (c1,c2,c3) VALUES(2000,2004,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2001,2003,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2003,2001,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2004,2000,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000) ON DUPLICATE KEY UPDATE c3=2011;
INSERT INTO t1 (c1,c2,c3) VALUES(2000,2000,2000) ON DUPLICATE KEY UPDATE c3=2011;
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, c3 TIME NULL, PRIMARY KEY(c1), UNIQUE(c2));
SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 YEAR NOT NULL, c2 YEAR NULL, c3 YEAR NULL, PRIMARY KEY(c1), UNIQUE(c2));
INSERT INTO t1 (c1,c2,c3) VALUES(2000,2004,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2001,2003,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2003,2001,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2004,2000,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000) ON DUPLICATE KEY UPDATE c3=2011;
INSERT INTO t1 (c1,c2,c3) VALUES(2000,2000,2000) ON DUPLICATE KEY UPDATE c3=2011;
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATETIME NULL, PRIMARY KEY(c1), UNIQUE(c2));
SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW());
INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01');
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 YEAR NOT NULL, c2 YEAR NULL, c3 YEAR NULL, PRIMARY KEY(c1), UNIQUE(c2));
INSERT INTO t1 (c1,c2,c3) VALUES(2000,2004,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2001,2003,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2003,2001,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2004,2000,2000);
INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000) ON DUPLICATE KEY UPDATE c3=2011;
INSERT INTO t1 (c1,c2,c3) VALUES(2000,2000,2000) ON DUPLICATE KEY UPDATE c3=2011;
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
# Restore timezone to default
SET TIME_ZONE= @@global.time_zone;
SET sql_mode=default;
